JavaScript获取url上的原始的参数的方法有window.location.search或window.location.href等;
拿到这些原始参数后,如果需要继续获取某一个参数的值,还需要解析,解析的方法也有很多,比如正则匹配、split拆分等等。
下面用代码列举两种纯JavaScript实现的获取并解析url上参数的方法
- 使用URLSearchParams
// 创建一个URLSearchParams实例
const urlSearchParams = new URLSearchParams(window.location.search);
// 把键值对列表转换为一个对象
const params = Object.fromEntries(urlSearchParams.entries());
console.log(params)
- 使用字符的split拆分截取
// 获取参数字符串(去除问号)
const paramsString = window.location.search.substring(1);
// 定义解析函数
function parseParams(paramsString) {
const params = {};
paramsString.split('&').forEach(param => {
const [key, value] = param.split('=');
params[key] = decodeURIComponent(value);
});
return params;
}
// 解析参数
const params = parseParams(paramsString);
console.log(params);