题目描述
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; } } }
时间: 2024-10-19 00:18:01