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);
//格式化输出
Last modification:September 25, 2019
如果觉得我的文章对你有用,请随意赞赏