(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正则表达式表示寻找匹配 ‘&参数名=参数值&’ 的内容,两边的&都可以没有。
- (^|&)表示开始可以有一个&也可以没有。如下的URL获取参数name的值则匹配到的内容为name=zhangsan;获取参数id的值匹配内容为 &id=123&。
- ([^&]*)表示0个或多个非&字符,即为捕获到的参数值 r[2]。
- (&|$)表示结尾可以有一个&也可以没有。如下的URL获取参数sex的值则匹配到的内容为&sex=man;获取name的值则匹配到的内容为name=zhangsan&。
三个括号表示分组,r[2]位第二个括号捕获到的内容,即为参数值。
举例
有URL为:index.html?name=zhangsan&id=123&sex=man