1、将所有参数转化为对象,重复的参数作为数组:
function parseQuery(url) {
var queryObj={};
var reg=/[?&]([^=&#]+)=([^&#]*)/g;
var querys=url.match(reg);
if(querys){
for(var i in querys){
var query=querys[i].split('=');
var key=query[0].substr(1),
value=query[1];
queryObj[key]?queryObj[key]=[].concat(queryObj[key],value):queryObj[key]=value;
}
}
return queryObj;
}
var url='http:www.baidu.com/index?name=username&age=27&pwd=zbc|123@&likes=lol&likes=beautifull girl&$id=main#flag=66';
console.log(parseQuery(url));
//结果:
{ name: 'username',
age: '27',
pwd: 'zbc|123@',
likes: [ 'lol', 'beautifull girl' ],
'$id': 'main'
}
2、获取某个url中某个参数的值
function getQueryByName(url,name){
var reg=new RegExp('[?&]'+name+'=([^&#]+)');
var query=url.match(reg);
return query?query[1]:null;
}
var url='http:www.baidu.com/index?name=wangqingqiang&age=27&pwd=wqq123@#flag=66';
var value=getQueryByName(url,'pwd');
console.log(value);
//结果:
wqq123@
————————————————
原文链接
更多
//获取当前页面的[网址链接][2]
var a = window.location;
console.log(a);
//格式化输出