今天公司的项目,有个功能,需要在页面内的连接上,获取当前页面的url参数。我想了想,肯定是js通过获取url,然后用正则匹配出结果
于是在网上找了下相关的解决方法。方法还是蛮不错的。整合下来,方便以后使用。
1、正则表达式大法。
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
调用方法。
alert(GetQueryString("参数名1"));
如:http://www.woaic.com/?s=js ,想获取s后面的值,alert(GetQueryString("s")),就ok了
2、通过split分割,成为数组形式的方式获取
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数3 = Request['参数3'];
参数N = Request['参数N'];