getUrlParam /* * 指定参数名称,返回该参数的值 或者 空字符串 * 不指定参数名称,返回全部的参数对象 或者 {} * 如果存在多个同名参数,则返回数组 */function getUrlParam(sUrl, sKey){ var resul
/*
* 指定参数名称,返回该参数的值 或者 空字符串
* 不指定参数名称,返回全部的参数对象 或者 {}
* 如果存在多个同名参数,则返回数组
*/
function getUrlParam(sUrl, sKey){
var result = {};
/*
* a:模式的匹配项
* k:捕获组的匹配项
* v:捕获组的匹配项
*/
sUrl.replace(/\??(\w+)=(\w+)&?/g, function(a, k, v){
if(result[k] !== void 0){
var t = result[k];
result[k] = [].concat(t, v);
}else{
result[k] = v;
}
});
if(sKey === void 0){
return result;
}else{
return result[sKey] || '';
}
}
//输出测试
console.log(getUrlParam('http://www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe'));
使用说明
getUrlParam('http://www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe'); // 获取全部参数
getUrlParam('http://www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe', 'key'); // 获取单参数,参数重复时以数组。
