本文介绍在JavaScript中获取URL查询参数的两种常用方法。第一种通过封装对象和正则匹配提取参数;第二种利用window.location.search截取字符串并结合正则表达式解析。两种方案均展示了具体代码实现与调用示例,适用于前端开发中获取页面请求参数的场景。
JavaScript获取URL参数的两种实现方式
第一种方法:代码结构较为专业,推荐使用。
代码如下:
<script>
function GetLocationParam(param){
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(decodeURI(uri.match(re)[0].substr(val.length+1))):'');
}
}
return request.QueryString(param);
}
var uid=GetLocationParam("uid");
</script>第二种方法:直接解析search字符串
第二种方法:
当然我们可以在后台中获取参数的值,然后在前台js代码中获取变量的值,具体做法请参考我的这篇文章:JavaScript获取后台C#变量以及调用后台方法。
其实我们也可以直接在js中获取请求的参数的值,通过使用window.location.search可以获取到当前URL的?号开始的字符串,如前面的链接获取到的search为?id=001。再对获取的字符串进行处理,就可以获取到参数的值了。
代码如下:
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
} 在调用上面的方法的时候,只要传入参数的名称,就可以获取到你想要的参数的值了,如:getUrlParam("id").