在JavaScript中获取请求的URL参数[正则]

  第一种方法:,代码比较专业 推荐

  

复制代码 代码如下:

  <script>

  function GetLocationParam(param){

  var request = {

  QueryString : function(val) {

  var uri = window.location.search;

  var re = new RegExp("" +val+ "=([^&?]*)", "ig");

  return ((uri.match(re))?(decodeURI(uri.match(re)[0].substr(val.length+1))):'');

  }

  }

  return request.QueryString(param);

  }

  var uid=GetLocationParam("uid");

  </script>

  第二种方法:

  当然我们可以在后台中获取参数的值,然后在前台js代码中获取变量的值,具体做法请参考我的这篇文章:JavaScript获取后台C#变量以及调用后台方法。

  其实我们也可以直接在js中获取请求的参数的值,通过使用window.location.search可以获取到当前URL的?号开始的字符串,如前面的链接获取到的search为?id=001。再对获取的字符串进行处理,就可以获取到参数的值了。

  

复制代码 代码如下:

  function getUrlParam(name) {

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

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

  if (r != null)

  return unescape(r[2]);

  return null;

  }

  在调用上面的方法的时候,只要传入参数的名称,就可以获取到你想要的参数的值了,如:getUrlParam("id")。