记录一下比较常用的三种方法,但其实归根到底都是靠截取内容
第一种最经典的通过是split截取方法
function geturlparam() {
let that = this
// window.location.href 获取地址 实际项目中是这样获取url?后面的参数的,这里为了展示就自己在函数中定义了
let url = 'https://xxxx.com/xxx/demo?type=1&id=2'
let p = url.split('?')[1]//截取问号后面参数
let keyValue = p.split('&');//以&为分割转换成数组
let obj = {};//用来接收参数的
for (let i = 0; i < keyValue.length; i++) {
let item = keyValue[i].split('=');//继续分割
obj[ item[0]] =item[1];//type为键,1为值给obj对象
}
return obj // {type:'1',id:'2'}
}
console.log(geturlparam())
第二种是js自带的 URLSearchParams方法就是操作url的
function 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(p)
let vaule=Object.fromEntries(params.entries())
return vaule
}
console.log( geturlparam())
第三种是通过正则表达是,一般记不住百度吧哈哈
unction getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}