题目描述
获取 url 中的参数
1. 指定参数名称,返回该参数的值 或者 空字符串
2. 不指定参数名称,返回全部的参数对象 或者 {}
3. 如果存在多个同名参数,则返回数组
输入例子:
getUrlParam('http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe', 'key')
输出例子:
[1, 2, 3]
function getUrlParam(sUrl, sKey) {
var val =sUrl.split('#')[0].split('?')[1];
if(sKey){//指定参数名称
var arry= new Array();
var str = val.split('&');
for(var i =0 ;i<str.length;i++){
var tem = str[i].split('=');
if(tem[0]==sKey){
arry.push(tem[1]);
}
}
if(arry.length==0){
// 空字符串
return "";
}else if (arry.length==1){
return arry[0]
} else {
//如果存在多个同名参数,则返回数组
return arry;
}
}else {//不指定参数名称,返回全部的参数对象 或者 {}
if(val == undefined||val == ""){
return {};
}else {
var arrys=new Object();
var strs = val.split('&');
for(var i =0 ;i<strs.length;i++) {
var tem = strs[i].split('=');
if (!(tem[0] in arrys)){
arrys[tem[0]]=[];
}
arrys[tem[0]].push(tem[1]);
}
return arrys;
}
}
}