获取Url地址中参数

在开发中,利用JS获取URL参数是一个常见的任务,用于处理任何业务或请求逻辑,了解如何从URL中检索查询字符串值非常重要,这也是面试中经常出现的问题之一。


代码如下:

function getUrlParam(name,url) {
url= url || window.location.href;
if(!!window.URL){
let u = new URL(window.location.href);
return u.searchParams.get(name,);
}
let reg = new RegExp('(^|&?)' + name + '=([^&]*)(&|$)', 'i');
let r = url.substr(1).match(reg);
if (r != null) {
return decodeURI(r[2]);
}
return undefined;
};


代码说明:

首先判断浏览器都支持 URL 和 URLSearchParams 对象,可以很方便地从URL中提取参数。

如果不支持,可以使用正则表达式匹配URL参数,这种方法相对较低效且较复杂,主要是通过构造一个含有目标参数的正则表达式对象,匹配目标参数。主要是通过构造一个含有目标参数的正则表达式对象,匹配目标参数。

延伸:除此之外还可以使用 split 和 reduce 来获取,或者利用location.search和自定义函数,比如:

const params = new URLSearchParams(location.search);
params.get(name);


链接: https://fly63.com/course/34_1634