方法一(推荐)
/**
* 获取URL参数
* @param paramUrl URL
* @returns {{}} 所有的参数
*/
export default function getAllQuery(paramUrl) {
const url = paramUrl || window.location.href
const temp1 = url.split('?')
const result = {}
if (temp1.length > 1) {
const pram = temp1[1]
const keyValue = pram.split('&')
for (let i = 0; i < keyValue?.length; i++) {
const item = keyValue[i].split('=')
const key = item[0]
result[key] = item[1]
}
}
return result
}
方法二
export default function getQuery(key, url) {
url = url || window.location.href;
if (url.indexOf('#') !== -1) url = url.substring(0, url.indexOf('#'));
let rts = [];
let rt;
let queryReg = new RegExp('(^|\\?|&)' + key + '=([^&]*)(?=&|#|$)', 'g');
while ((rt = queryReg.exec(url)) !== null) {
rts.push(decodeURIComponent(rt[2]));
}
if (rts.length === 0) return null;
if (rts.length === 1) return rts[0];
return rts;
}