[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'];
原文地址:https://www.cnblogs.com/niubenbit/p/2880990.html