A-A+

javascript中获取地址url参数

2016年02月21日 web前端设计 暂无评论 阅读 6 views 次

在javascript中获取地址url参数是我们少用的一个东西,下面我来分享现在网络上常用的获取地址url参数办法,有需要的朋友可参考参考。

最快捷的js方法,代码如下:

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

URL的参数&参数名1=XXXX&参数名2=XXXX&参数名3=XXXX,代码如下:

  1. alert(GetQueryString("参数名1"));   
  2. alert(GetQueryString("参数名2"));   
  3. alert(GetQueryString("参数名3"));  

后来又进入了改进,可兼容所有浏览器,代码如下:

  1. // 获取地址栏的参数数组  
  2.          function getUrlParams() {  
  3.              var search = window.location.search;  
  4.              // 写入数据字典  
  5.              var tmparray = search.substr(1, search.length).split("&");  
  6.              var paramsArray = new Array;  
  7.              if (tmparray != null) {  
  8.                  for (var i = 0; i < tmparray.length; i++) {  
  9.                      var reg = /[=|^==]/;    // 用=进行拆分,但不包括==  
  10.                      var set1 = tmparray[i].replace(reg, '&');  
  11.                      var tmpStr2 = set1.split('&');  
  12.                      var array = new Array;  
  13.                      array[tmpStr2[0]] = tmpStr2[1];  
  14.                      paramsArray.push(array);  
  15.                  }  
  16.              }  
  17.              // 将参数数组进行返回  
  18.              return paramsArray;  
  19.          }  
  20.    
  21.          // 根据参数名称获取参数值  
  22.          function getParamValue(name) {  
  23.              var paramsArray = getUrlParams();  
  24.              if (paramsArray != null) {  
  25.                  for (var i = 0; i < paramsArray.length; i++) {  
  26.                      for (var j in paramsArray[i]) {  
  27.                          if (j == name) {  
  28.                              return paramsArray[i][j];  
  29.                          }  
  30.                      }  
  31.                  }  
  32.              }  
  33.              return null;  
  34.          }  

使用方法,带着2个参数name与year,代码如下:

http://localhost:8080/Default.aspx?Name=张三&Year=2013

你只需要,代码如下:

var Name = getParamValue("Name");

var Year = getParamValue("Year");

感觉是不是有点像php,asp这类的哦,上面js代码有点复杂正同我们利用jquery,如果想获取test,则可以引入插件后,用如下方法获取:

var test = $.query.get('test');

如果参数有多个相同的名称,则可以这样:var arr = $.query.get('testy');

输出:

[ 值1 , 值2, 值3...]如果要获取多个相同名称中的某一个,可以这样:

var arrayElement = $.query.get('testy[1]');

标签:

给我留言