获取Url地址中参数的几种方法
获取Url的代码如下:window.location.href;
方法一:原生js(假设已经获得了Url地址)
varurl ='https://gitbook.cn/gitchat/geekbooks?tag=JavaScript&name=pwwu&age=24';
vartemp1 = url.split('?');
varpram = temp1[1];
varkeyValue = pram.split('&');
varobj = {};
for(vari =0; i
varitem = keyValue[i].split('=');
varkey = item[0];
varvalue = item[1];
obj[key] = value;
}
console.log(url);
console.log(temp1);// ['https://gitbook.cn/gitchat/geekbooks','tag=JavaScript&name=pwwu&age=24']
console.log(pram);// tag=JavaScript&name=pwwu&age=24
console.log(keyValue);// ['tag=JavaScript','name=pwwu','age=24']
console.log(obj);// {tag:'JavaScript',name:'pwwu',age:'24'}
总结:主要思路就是将Url用split()分割成不同的块,返回值为一个数组,一直分割到为[‘tag=JavaScript’,‘name=pwwu’,‘age=24’]为止,然后将该数组中的每一项以键值对的形式传进一个空对象obj(这里需要遍历数组),最后利用obj.name“点”的方式获取相应参数。
方法二 URLSearchParams()函数(记不住函数名的可以直接在浏览器里面打印)
varurl2 ='https://gitbook.cn/gitchat/geekbooks?tag=%E5%A4%A7%E6%95%B0%E6%8D%AE&name=gy&age=22';
vartemp2 = url2.split('?')[1];
varpram2 =newURLSearchParams('?'+temp2);
console.log(pram2.get('tag'));// 大数据
console.log(pram2.get('name'));// gy
console.log(pram2.get('age'));// 22
console.log(temp2);//tag=%E5%A4%A7%E6%95%B0%E6%8D%AE&name=gy&age=22
方法三 使用正则表达式
//获取url中的参数方法
functiongetUrlParam(name){
//构造一个含有目标参数的正则表达式对象
varreg =newRegExp("(^|&)"+ name +"=([^&]*)(&|$)");
//匹配目标参数
varr =window.location.search.substr(1).match(reg);
//返回参数
if(r !=null) {
returnunescape(r[2]);
}else{
returnnull;
}
}
varABC = getUrlParam();
console.log(ABC);
后续还有其他方法,暂时记得这么多,想起来再回头补。。。
如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号【筑梦编程】,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!