获取当前页面url参数
// 方法一,传统方式,这个可能难在写这个正则,让我默写我也写不出来
function query(name){
const search=location.search.substr(1)
const reg=new RegExp(`(^|&)${name}=([^&]*)(&|$)`,'i')
const res=search.match(reg)
if(res === null){
return null
}
return res[2]
}
// 方法二,URLSearchParams
function query2(name){
const search=location.search
const p = new URLSearchParams(search)
return p.get(name)
}
URLSearchParams()的使用文档:https://developer.mozilla.org...
变异题
要考虑a、c、hash
?a=0&a=1&a=2&c&url=url内容#333
解析成
{
query:{
a:[0,1,2],
url:'url内容'
},
hash:''
}
function query(str){
var arr1=str.split('?')
var arr2=arr1[1].split('#')
var arr3=arr2[0].split('&')
var obj={};
for(var i=0;i<arr3.length;i++){
var arr4=arr3[i].split('=')
if(obj[arr4[0]] !== undefined){//[] ,1,0
if(!(obj[arr4[0]] instanceof Array)){
obj[arr4[0]]= [obj[arr4[0]]]
}
obj[arr4[0]].push(arr4[1])
}else{
if(arr4[1]){
obj[arr4[0]]= arr4[1]
}
}
}
return {
query:obj,
hash:arr2[1]
};
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。