方法一:
function search(){
var a=window.location.search.length>1?window.location.search.substring(1):[];
var b= a.length>0? a.split("&"):[];
var obj={};
for(var i=0;i< b.length;i++){
var arr= b[i].split("=");
if(arr[0]){
obj[arr[0]]=arr[1];
}
}
console.log(obj);
}
search();
方法二:
function getToJson(url){
//1.将?替换为空
url=url.replace(/^\?/,"");
//2.以&符号拆分
url=url.split("&");
//3.创建一个json变量
var json={};
//4.遍历这个拆分后的数组
for(var i=0;i<url.length;i++){
//5.url[i]是当前数据,把当前数据再以=拆分的到一个数组,数组的第一个元素就是属性名,第二个就是属性值
var cur=url[i].split("=");
//6.将数组中的第一个元素作为json的属性名,,第二个作为属性值
json[cur[0]]=cur[1];
}
return json;
}
方法三:
/*
* 解析url参数
* @example ?id=13456&a=b
* @return Object {id:13456,a:b}
*
* */
export function urlParse() {
let url = window.location.search;
let obj = {};
let reg = /[?&][^?&]+=[^?&]+/g;
let arr = url.match(reg);
if (arr) {
arr.forEach((item) => {
let tempArr = item.substring(1).split('=');
let key = decodeURIComponent(tempArr[0]);
let val = decodeURIComponent(tempArr[1]);
obj[key] = val;
});
}
return obj;
}