如何提取URL中的参数值?
- 内容介绍
- 文章标签
- 相关推荐
本文共计278个文字,预计阅读时间需要2分钟。
javascriptfunction getUrlParam(sUrl, sKey) { var result=null; var params=sUrl.split('?')[1]; if (params) { var paramsArray=params.split('&'); for (var i=0; i /*
* 指定参数名称,返回该参数的值 或者 空字符串
* 不指定参数名称,返回全部的参数对象 或者 {}
* 如果存在多个同名参数,则返回数组
*/
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('www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe'));
使用说明
getUrlParam('www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe'); // 获取全部参数
getUrlParam('www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe', 'key'); // 获取单参数,参数重复时以数组。
本文共计278个文字,预计阅读时间需要2分钟。
javascriptfunction getUrlParam(sUrl, sKey) { var result=null; var params=sUrl.split('?')[1]; if (params) { var paramsArray=params.split('&'); for (var i=0; i /*
* 指定参数名称,返回该参数的值 或者 空字符串
* 不指定参数名称,返回全部的参数对象 或者 {}
* 如果存在多个同名参数,则返回数组
*/
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('www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe'));
使用说明
getUrlParam('www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe'); // 获取全部参数
getUrlParam('www.xxxx.com?key=1&key=2&key=3&test=4&test=5&a=6&b=7#hehe', 'key'); // 获取单参数,参数重复时以数组。

