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')