采用正则表达式获取地址栏参数

 1 // 采用正则表达式获取地址栏参数
 2 getUrlSearch(name) {
 3   // 未传参,返回空
 4   if (!name) return null;
 5   // 查询参数:先通过search取值,如果取不到就通过hash来取
 6   var after = window.location.search;
 7   after = after.substr(1) || window.location.hash.split('?')[1];
 8   // 地址栏URL没有查询参数,返回空
 9   if (!after) return null;
10   // 如果查询参数中没有"name",返回空
11   if (after.indexOf(name) === -1) return null;
12  
13   var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
14   // 当地址栏参数存在中文时,需要解码,不然会乱码
15   var r = decodeURI(after).match(reg);
16   // 如果url中"name"没有值,返回空
17   if (!r) return null;
18   return r[2];
19 },

使用: this.getUrlSearch('params')

posted @ 2021-10-28 14:30  鼓舞飞扬  阅读(136)  评论(0编辑  收藏  举报