js获取url传递参数[转]

haibao 笔记 2015-05-14 15:33 496
一个人的价值, 在于他贡献了什么, 而不在于他获得了什么。——爱因斯坦

凌晨好, 本文除去代码部分,共1233个字,预计阅读时间需要4分钟。

这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET
函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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]]=(strs[i].split("=")[1]);
      }
   }
   return theRequest;
}
</Script>

然后我们通过调用此函数获取对应参数值:

1
2
3
4
5
6
7
8
9
<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>

以此获取url串中所带的同名参数

二、正则分析法。

1
2
3
4
5
6
7
8
function GetQueryString(name) {
   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
   var r = window.location.search.substr(1).match(reg);
   if (r!=null) return (r[2]); return null;
}
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

其他参数获取介绍:

//设置或获取对象指定的文件名或路径。

1
alert(window.location.pathname);

//设置或获取整个 URL 为字符串。

1
alert(window.location.href);

//设置或获取与 URL 关联的端口号码。

1
alert(window.location.port);

//设置或获取 URL 的协议部分。

1
alert(window.location.protocol);

//设置或获取 href 属性中在井号“#”后面的分段。

1
alert(window.location.hash);

//设置或获取 location 或 URL 的 hostname 和 port 号码。

1
alert(window.location.host);

//设置或获取 href 属性中跟在问号后面的部分。

1
alert(window.location.search);

原文链接:http://www.cnblogs.com/gaojun/archive/2013/06/09/3129412.html

本文标题:js获取url传递参数[转]

本文地址:http://www.hehaibao.com/js-get-url-params/

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

发表评论

电子邮件地址不会被公开。 必填项已用*标注