[f]获取URL中的参数

今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数。

后来想了一下,肯定会有更加简单的方法的!所以在网上找到了两个很又简单实用的方法,mark下

方法一:正则分析法

1 function getQueryString(name){

2     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");

3     var r = window.location.search.substr(1).match(reg);

4     if (r != null) 

5         return unescape(r[2]);

6     return null;

7 }

调用方法:

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

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

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

方法二:

 1 function GetRequest(){

 2     var url = location.search; //获取url中"?"符后的字串

 3     var theRequest = new Object();

 4     if (url.indexOf("?") != -1) {

 5         var str = url.substr(1);

 6         strs = str.split("&");

 7         for (var i = 0; i < strs.length; i++) {

 8             theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);

 9         }

10     }

11     return theRequest;

12 }

调用方法:

1 var Request = new Object();

2 Request = GetRequest();

3 var 参数1,参数2,参数3,参数N;

4 参数1 = Request['参数1'];

5 参数2 = Request['参数2'];

6 参数3 = Request['参数3'];

7 参数N = Request['参数N'];

 

你可能感兴趣的:(url)