1、使用正则
封装方法:
// 获取地址栏参数
function getUrlKey(name, url){
return decodeURIComponent((new RegExp(‘[?|&]’ + name + ‘=’ + ‘([^&;]+?)(&|#|;|$)’).exec(url) || [, “”])[1].replace(/+/g, ‘%20’)) || null
}
调用:
let hash = window.location.href
getUrlKey('phone', hash)
2、split截取
var ele = window.location.href
var cs = ele.split(‘?’)[1] //获取?之后的参数字符串
var cs_arr = cs.split(‘&’) //参数字符串分割为数组
var cs = {}
for (var i = 0; i < cs_arr.length; i++) {
//遍历数组,拿到json对象
cs[cs_arr[i].split(‘=’)[0]] = cs_arr[i].split(‘=’)[1]
}
cs.terminalSn //取出terminalSn
3、使用正则
function getParameter(name){
var reg = new RegExp(“(^|&)”+ name +“=([^&]*)(&|$)”); //构建一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg);//匹配目标参数
if(r!=null) {
return unescape(r[2]); //返回参数值
}
return null;
}
getParameter(name)//name是要获取的参数名
4、URLSearchParams()函数
geturlparam(){
let that=this
// window.location.href 获取地址
let url = ‘https://xxxx.com/xxx/demo?type=1&id=2’
let p=url.split(‘?’)[1]
let params=new URLSearchParams§
console.log(params.get(‘type’)) //1
console.log(params.get(‘id’)) //2
}