- 指定参数名称,返回该参数的值 或者 空字符串
- 不指定参数名称,返回全部的参数对象 或者 {}
- 如果存在多个同名参数,则返回数组
- 不支持URLSearchParams方法
输入:http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe key
输出:[1, 2, 3]
function getUrlParam(sUrl, sKey) {
let sParam = sUrl.split('?')[1].split('#')[0];
let pArr = sParam.split('&');
if (sKey) {
var newArr = [];
pArr.forEach(function (elm, ind) {
if (elm.split('=')[0] == sKey) {
newArr.push(elm.split('=')[1]);
}
});
if (newArr.length == 1) return newArr[0];
else if (newArr.length == 0) return "";
else return newArr;
} else {
if (!sParam) return {};
else {
var newObj = {};
pArr.forEach(function (elm, ind) {
if (!(elm.split('=')[0] in newObj)) {
newObj[elm.split('=')[0]] = []
}
newObj[elm.split('=')[0]].push(elm.split('=')[1])
});
return newObj
}
};
}
getUrlParam("http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe","key")