JavaScript 获取 URL 参数的两种实现方法

作者:半夏时间:2026-10-23 12:11:27浏览:530

本文介绍在 JavaScript 中获取 URL 查询参数的两种常用方法。第一种通过字符串分解,利用 indexOf 和 substring 提取参数;第二种使用正则表达式直接匹配。文中提供了完整的函数代码及测试示例,并处理了加号转空格的情况,适用于前端开发中的参数解析场景。

JavaScript 获取 URL 参数的两种实现方法

本文介绍两种在 JavaScript 中获取 URL 参数的方法。方法一是将链接视为字符串,按格式分解后提取对应参数值;方法二是直接使用正则表达式进行匹配。涉及的关键字包括 parameter(参数)、location.href、url 以及链接和 javascript。

具体实现代码如下:

 
<script type="text/javascript">
function getQueryString(name)
{ 
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1)
{ return ''; }
// 获取链接中参数部分
var queryString = location.href.substring(location.href.indexOf("?")+1);
// 分离参数对 ?key=value&key2=value2
var parameters = queryString.split("&");
var pos, paraName, paraValue;
for(var i=0; i<parameters.length; i++)
{ 
// 获取等号位置
pos = parameters[i].indexOf('=');
if(pos == -1) { continue; }
// 获取name 和 value
paraName = parameters[i].substring(0, pos);
paraValue = parameters[i].substring(pos + 1);
// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
if(paraName == name)
{ 
return unescape(paraValue.replace(/\+/g, " "));
} 
} 
return '';
}; 
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryString('test'));
//--> 
</script>

正则表达式匹配方法

方法二:


使用正则表达式匹配方式:


具体实现代码如下:

 
<script type="text/javascript">
function getQueryStringRegExp(name)
{ 
var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(https://www.jb51.net/file:///s:&%7C$)", "i");
if (reg.test(location.href))
return unescape(RegExp.$2.replace(/\+/g, " "));
return "";
}; 
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryStringRegExp('test'));
</script>
作者最新文章