今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数。
后来想了一下,肯定会有更加简单的方法的!所以在网上找到了两个很又简单实用的方法,mark下
方法一:正则分析法
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;
}
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"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
方法二:
<span style="font-size: 16px;"><Script language="javascript">
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;
}</Script></span> |
这样调用:
<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request[\'参数1\'];
参数2 = Request[\'参数2\'];
参数3 = Request[\'参数3\'];
参数N = Request[\'参数N\'];
</Script>
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request[\'参数1\'];
参数2 = Request[\'参数2\'];
参数3 = Request[\'参数3\'];
参数N = Request[\'参数N\'];
</Script>
----------------------------------------------------------------------------------------------------------------------------------------
/*
//列子
<script language="javascript">
var str=window.location.href;
var es=/SouceID=/;
es.exec(str);
var right=RegExp.rightContext;
//alert(right);
switch(right){
case \'Din\':
case \'Exh\':
case \'Banks\':
case \'Shop\':
case \'Treat\':
case \'Trip\':
ChgTab(\'tab3\',\'tabcontent3\');
break;
case \'Air\':
case \'Railway\':
case \'Road\':
case \'Subway\':
ChgTab(\'tab2\',\'tabcontent2\');
break;
default:
ChgTab(\'tab1\',\'tabcontent1\');
}
</script>
----------------------------------------------------------------------------------------------------------------------------------------
比如一条url:http://127.0.0.1/index.html?id=999&type=2
那么在index.html中这样写就可以获得id和type的值
var id=$.query.get("id"); // id=999
var type=$.query.get("type"); // type=2
插件的代码如下:
http://blog.jiqila.com/post/164/