用JS获取地址栏参数的方法(超级简单)
function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则 if(r!=null)return unescape(r[2]); return null; }
调用方法
alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3"));
举个例子
1,若地址栏URL为:https://www.niwoxuexi.com/blog/web/article/515.html?id=12345&url=http://www.niwoxuexi.com
那么,但你用上面的方法去调用:
1,alert(GetQueryString("url"));
则会弹出一个对话框:内容就是 http://www.niwoxuexi.com
2,如果用:alert(GetQueryString("id"));
那么弹出的内容就是 12345 啦;
3,如果你没有传参数的话,比如你的地址是 https://www.niwoxuexi.com/blog/web/article/515.html后面没有参数,
那强行输出调用结果有的时候会报错:
所以我们要加一个判断 ,判断我们请求的参数是否为空,首先把值赋给一个变量:
var myurl=GetQueryString("url"); if(myurl !=null && myurl.toString().length>1){ alert(GetQueryString("url")); }
这样就不报错了