题目描述
获取 url 中的参数
1. 指定参数名称,返回该参数的值 或者 空字符串
2. 不指定参数名称,返回全部的参数对象 或者 {}
3. 如果存在多个同名参数,则返回数组
示例1
输入
输出
[1, 2, 3]
function getUrlParam(sUrl, sKey) {
var keys=sUrl.split('?')[1].split('#')[0];
var str=keys.split('&');
var rst={};
for(var i=0,l=str.length;i<l;i++){ //先将参数保存到rst中
var tmp=str[i].split('=');
if(!(tmp[0] in rst)){
rst[tmp[0]]=[];
}
rst[tmp[0]].push(tmp[1]);
}
//根据参数判断返回值
if(sKey){
if(sKey in rst){
var arr=rst[sKey];
if(arr.length==0)
return '';
else if(arr.length ==1)
return arr[0];
else return arr;
}
else return '';
}
else{
if(keys==undefined || keys=='')
return {};
else return rst;
}
}
这里先将参数保存起来,然后根据题目要求确定返回的内容;
也可以一边解析url,一边判断嗷~