获取Url地址中参数的几种方法

2019-05-28  本文已影响0人  编程鸭

获取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);

后续还有其他方法,暂时记得这么多,想起来再回头补。。。

如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号【筑梦编程】,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!

上一篇下一篇

猜你喜欢

热点阅读