面试时候或者有必要的时候我们总会碰到关于url解码或者截取?后面的字符串的问题,那么今天我们来说说关于这个问题的解决思路,解决思路可分为以下步骤:
1)使用location.search获取url中"?"符后的字串
2)用indexOf判断?后面是否有字符
3)运用split分割字符串
4)使用decodeURI解码
具体代码如下所示:
function GetStr() {
var url = location.search; //获取url中"?"符后的字串
var arr = new Object();
if(url.indexOf("?") != -1) {//判断?后面是否有字符
var str = url.substr(1);//从第一个字符开始截取
strs = str.split("&");//以&符号分离
console.log(strs);
for(var i = 0; i < strs.length; i++) {
//decodeURI:将字符解码
//decodeURIComponent:加密
arr[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
}
}
return arr;
}
console.log(GetStr());