function getWindowHref() {
//获取数据 例 ?id=5&type=9&status=10
var sHref = window.location.href;
var args = sHref.split('?');
if (args[0] == sHref) {
return ""
}
var hrefArr = args[1].split('#')[0].split('&');
// hrefArr = [ 'id=5', 'type=9', 'status=10' ]
var obj = {};
for (var i = 0; i < hrefArr.length; i++) {
hrefArr[i] = hrefArr[i].split('=');
obj[hrefArr[i][0]] = hrefArr[i][1];
}
return obj
}
//第二版
function parseParam(url) {
const paramsStr = /.+\?(.+)$/.exec(url)[1]; // 将 ? 后面的字符串取出来
const paramsArr = paramsStr.split('&'); // 将字符串以 & 分割后存到数组中
let paramsObj = {};
// 将 params 存到对象中
paramsArr.forEach(param => {
if (/=/.test(param)) { // 处理有 value 的参数
let [key, val] = param.split('='); // 分割 key 和 value
val = decodeURIComponent(val); // 解码
val = /^\d+$/.test(val) ? parseFloat(val) : val; // 判断是否转为数字
if (paramsObj.hasOwnProperty(key)) { // 如果对象有 key,则添加一个值
paramsObj[key] = [].concat(paramsObj[key], val);
} else { // 如果对象没有这个 key,创建 key 并设置值
paramsObj[key] = val;
}
} else { // 处理没有 value 的参数
paramsObj[param] = true;
}
})
return paramsObj;
}
获取url的所有参数
于 2021-06-23 16:52:37 首次发布