1、^匹配字符串的开头,|&是匹配字符&右边的字符,
2、[^&]*是匹配除&之外的其他字符,匹配0次或多次,
3、&|是匹配&字符左边的字符
4、$是匹配字符串的结尾
5、unescape() 函数可对通过 escape() 编码的字符串进行解码。
6、location的search属性返回?之后的URL
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);//substr(1)去掉问号
if (r != null) return unescape(r[2]); return null;
}`
另一种方法
var args=urlArgs();//从URL中解析参数
var q=args.q||"";//如果参数定义了的话就使用参数,否则使用一个默认值
var n=args.n?parseInt(args.n):10;
function urlArgs(){
var args={};
var query=location.search.substr(1);
var pairs=query.split(&);
for(var i=0;i<pairs.length;i++){
var pos=pairs[i].indexOf('=');
if(pos==-1){
continue;
}
var name=pairs[i].substring(0,pos);
var value=pairs[i].substring(pos+1);
value=decodeURIComponent(value);
args[name]=value;
}
return args;
}