版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/well2049/article/details/79769517
第一种方法使用for循环
function queryURLParameter(url){
let obj = {};
if (url.indexOf('?')<0) return obj;
let ary = url.split('?');
urlParameter = ary[1];
data = urlParameter.split('&');
for (var i = 0; i < data.length; i++) {
let curl = data[i],
curAry = curl.split('=');
obj[curAry[0]] = curAry[1];
}
return obj;
}
//使用时直接 var data = queryURLParameter(url)
第二种正则匹配
function queryURLParamteter(url){
let reg = /([^&?=]+)=([^&?=]+)/g,
obj = {};
url.replace(reg,function(){
obj[arguments[1]] = arguments[2];
})
return obj;
}
第三种就是写到字符串原型中
String.prototype.myQueryURLParameter = function(){
let reg = /([^&?=]+)=([^&?=]+)/g,
obj = {};
this.replace(reg,(...arg)=>{
obj[arg[1]] = arg[2]
});
return obj;
}
console.log(url.myQueryURLParameter());