前端项目中,必不可少的需要用到解析当前url,从而获取其中的参数。
测试:
注意:这里获取的参数值都为String类型
/**
* url参数解析
* @example String "https://mp.csdn.net?id=123456&a=b"
* @return Object {id:"123456",a:"b"}
*/
export function urlParse () {
let url = window.location.href
let obj = {}
/*
* 正则匹配
* [?&]:匹配?或&其一
* [^?&]:非?或非&
* */
let reg = /[?&][^?&]+=[^?&]+/g
let arr = url.match(reg) // return ["?id=123456","&a=b"]
if (arr) {
arr.forEach((item) => {
let tempArr = item.substring(1).split('=')
let key = tempArr[0]
let val = tempArr[1]
obj[key] = val
})
}
return obj
}