js获取url的参数跟值的N种有效方法
js获取url的参数和值的N种有效方法
Google method
// The plugin jQuery-URL-Parser https://github.com/allmarkedup/jQuery-URL-Parser
http://medialize.github.com/URI.js/
function getParameterByName(name) { name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regexS = "[\\?&]" + name + "=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(window.location.search); if(results == null) return ""; else return decodeURIComponent(results[1].replace(/\+/g, " ")); }
var urlParams = {}; (function () { var match, pl = /\+/g, // Regex for replacing addition symbol with a space search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); })();
function getParameterByName(name) { var match = RegExp('[?&]' + name + '=([^&]*)') .exec(window.location.search); return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); }
var qs = (function(a) { if (a == "") return {}; var b = {}; for (var i = 0; i < a.length; ++i) { var p=a[i].split('='); if (p.length != 2) continue; b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); } return b; })(window.location.search.substr(1).split('&'));
Google method
function (b) { var c = typeof b === "undefined"; if (a !== h && c) return a; for (var d = {}, b = b || k[B][vb], e = b[p]("?"), f = b[p]("#"), b = (f === -1 ? b[Ya](e + 1) : [b[Ya](e + 1, f - e - 1), "&", b[Ya](f + 1)][K](""))[z]("&"), e = i.dd ? ia : unescape, f = 0, g = b[w]; f < g; ++f) { var l = b[f][p]("="); if (l !== -1) { var q = b[f][I](0, l), l = b[f][I](l + 1), l = l[Ca](/\+/g, " "); try { d[q] = e(l) } catch (A) {} } } c && (a = d); return d }
(function($) { $.QueryString = (function(a) { if (a == "") return {}; var b = {}; for (var i = 0; i < a.length; ++i) { var p=a[i].split('='); if (p.length != 2) continue; b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); } return b; })(window.location.search.substr(1).split('&')) })(jQuery);
$.urlParam = function(name){ var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href); if (!results) { return 0; } return results[1] || 0; }
var getParamValue = (function() { var params, resetParams = function() { var query = window.location.search, regex = /[?&;](.+?)=([^&;]+)/g, match; params = {}; if (query) { while (match = regex.exec(query)) { params[match[1]] = decodeURIComponent(match[2]); } } }; window.addEventListener && window.addEventListener('popstate', function() { resetParams(); }); resetParams(); return function(param) { return params.hasOwnProperty(param) ? params[param] : null; } })();
// The plugin jQuery-URL-Parser https://github.com/allmarkedup/jQuery-URL-Parser
$.url.param("itemID")
;(function ($) { $.extend({ getQueryString: function (name) { function parseParams() { var params = {}, e, a = /\+/g, // Regex for replacing addition symbol with a space r = /([^&=]+)=?([^&]*)/g, d = function (s) { return decodeURIComponent(s.replace(a, " ")); }, q = window.location.search.substring(1); while (e = r.exec(q)) params[d(e[1])] = d(e[2]); return params; } if (!this.queryStringParams) this.queryStringParams = parseParams(); return this.queryStringParams[name]; } }); })(jQuery); // 使用 var someVar = $.getQueryString('myParam');
http://medialize.github.com/URI.js/
var data = URI('?foo=bar&bar=baz&foo=world').query(true); data == { "foo": ["bar", "world"], "bar": "baz" }
function getUrlParams() { var result = {}; var params = (window.location.search.split('?')[1] || '').split('&'); for(var param in params) { if (params.hasOwnProperty(param)) { paramParts = params[param].split('='); result[paramParts[0]] = decodeURIComponent(paramParts[1] || ""); } } return result; }