js获取url的参数跟值的N种有效方法
c_a_3();
js获取url的参数和值的N种有效方法
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
$.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');
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;
}