如何在JavaScript中获取URL参数值?以proj=1997为例
提取URL查询参数的简便方法
当然有更简单的办法!完全不用写正则表达式,JavaScript原生就提供了专门处理URL查询参数的API,既省心又不容易出错。
你可以直接用URL和URLSearchParams这两个内置对象来实现,步骤超简单:
- 先创建一个URL对象,传入你的目标URL
- 通过
searchParams.get()方法直接获取指定参数的值
示例代码如下:
// 针对你提供的URL const targetUrl = new URL('http://localhost:8080/App/sample?proj=1997'); const projValue = targetUrl.searchParams.get('proj'); console.log(projValue); // 输出字符串 "1997"
如果是要提取当前页面URL的参数,直接用window.location.href代替手动输入的URL就行:
const projValue = new URL(window.location.href).searchParams.get('proj');
这个方法还有额外的好处:
- 自动处理参数的编码问题(比如参数里包含
%20这类编码字符时,会自动解码成对应的原始字符) - 可以轻松判断参数是否存在:
targetUrl.searchParams.has('proj')会返回布尔值 - 如果同一个参数有多个值(比如
?proj=1997&proj=2000),可以用searchParams.getAll('proj')获取一个包含所有值的数组
相比正则表达式,这种方法可读性更强,也不用考虑各种边界情况,是现在处理URL参数的首选方案。
内容的提问来源于stack exchange,提问作者Pedro Martins
相关产品推荐
相关产品推荐

