用JS获取地址栏参数的方法
先判断URL中有没有这个参数,如果有就替换,如果没有就加上:
JavaScript Code复制内容到剪贴板
- /**
- * 获取当前url的指定参数值
- * @param name
- * @returns {string|null}
- */
- function getQueryString(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
- var r = window.location.search.substr(1).match(reg);
- if (r != null) return decodeURI(r[2]); return null;
- }
- /**
- * 替换当前Url中指定参数值,如果没有就加上
- * @param base
- * @param find
- * @param value
- * @returns {string}
- */
- function replaceQueryStringParam(base,find,value) {
- // let base = window.location.href;
- // console.log(base)
- // let offset = base.indexOf(find);
- let offset = base.indexOf(find+'=');
- let index;
- let rr = '';
- if(offset < 0){
- if(base.indexOf('?') < 0) {
- base += '?';
- }else{
- base += '&';
- }
- base += find + '=' + value;
- }else{
- left = base.substr(0, offset);
- right = base.substr(offset);
- index = right.indexOf('&');
- if(index >= 0){
- rr = right.substr(index);
- }
- base = left + find + "=" + value + rr;
- }
- return base;
- }
JavaScript Code复制内容到剪贴板
- 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"));
例:
若地址栏URL为:abc.html?id=123&url=http://www.yoyo88.cn
那么,但你用上面的方法去调用:alert(GetQueryString("url"));
则会弹出一个对话框:内容就是 http://www.yoyo88.cn
当然如果你没有传参数的话,比如你的地址是 abc.html 后面没有参数,那强行输出调用结果有的时候会报错:
所以我们要加一个判断 ,判断我们请求的参数是否为空,首先把值赋给一个变量:
JavaScript Code复制内容到剪贴板
- var myurl=GetQueryString("url");
- if(myurl !=null && myurl.toString().length>1)
- {
- alert(GetQueryString("url"));
- }
下一篇 JS判断当前值是否在指定数组中