Javascript获取url参数值方法总结

作者:袖梨 2022-11-14

实例1

代码如下 复制代码


function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
}


调用方法

alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

如:getUrlParam("id")。
这个方法通过构造一个正则表达式来匹配到需要查询的url参数,location.search是获取到url中的查询字符串部分。这个方法的优点是简洁,缺点是每次都需要对字符串进行分析查找,多次查询同一个参数效率低下,所以有了下面这个方法。

获取url参考值方法二

代码如下 复制代码


这样调用:

代码如下 复制代码

利用闭包和正则表达式实现

代码如下 复制代码

var getUrlParam = function(){
var args = null;
return function(name){
if(args === null){
if(location.search == "") return "";
var queryArray = location.search.substring(1).split("&");
var i;
args = {};
for(i = 0;i < queryArray.length;i++){
var match = queryArray[i].match(/([^=]+)=([^=]+)/);
if(match !== null){
args[match[1]] = match[2];
}
}
}
return args[name] == undefined ? "" : args[name];
};
}();

这个方法利用了js的函数闭包,将url参数都保存在一个匿名函数里面的args变量中,而且除了通过getUrlParam外,任何方法都访问不到该变量。而且只有第一次获取url参数的时候才会分析url,以后就直接从变量args中读取。

相关文章

精彩推荐