JS获取URL参数方法

(1)正则方法

function GetQueryString(name){
     var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
     var r = window.location.search.substr(1).match(reg);
     if(r!=null)  return  unescape(r[2]);
     return null;
}
 //调用方法
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

reg正则表达式表示寻找匹配 ‘&参数名=参数值&’ 的内容,两边的&都可以没有。

  1. (^|&)表示开始可以有一个&也可以没有。如下的URL获取参数name的值则匹配到的内容为name=zhangsan;获取参数id的值匹配内容为 &id=123&。
  2. ([^&]*)表示0个或多个非&字符,即为捕获到的参数值 r[2]。
  3. (&|$)表示结尾可以有一个&也可以没有。如下的URL获取参数sex的值则匹配到的内容为&sex=man;获取name的值则匹配到的内容为name=zhangsan&。
    三个括号表示分组,r[2]位第二个括号捕获到的内容,即为参数值。

举例

有URL为:index.html?name=zhangsan&id=123&sex=man

你可能感兴趣的:(JS获取URL参数方法)