获取地址栏参数

来源:互联网 发布:蓝凌软件待遇 编辑:程序博客网 时间:2024/06/06 16:00

方法一

代码:

//获取地址栏参数function getQueryString(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");var r = window.location.search.substr(1).match(reg);if (r != null) return unescape(r[2]); return null;}

示例:

//当前URL:http://192.168.10.111/test/after/index.html?a=123456var $res=getQueryString('a');console.log($res);//123456
var aa=encodeURI(encodeURI('你好啊中国'));//二次编码 确保地址栏字符串正常//当前URL:http://192.168.10.111/test/after/index.html?a=%25E4%25BD%25A0%25E5%25A5%25BD%25E5%2595%258A%25E4%25B8%25AD%25E5%259B%25BDvar $res=getQueryString('a');console.log(aa);//%25E4%25BD%25A0%25E5%25A5%25BD%25E5%2595%258A%25E4%25B8%25AD%25E5%259B%25BDconsole.log(decodeURI(decodeURI($res)));//你好啊中国


如图:


方法二

代码:

//获取地址栏参数function UrlSearch(can) {   var json={};   var str=location.href; //取得整个地址栏   var num=str.indexOf("?")    str=str.substr(num+1); //取得所有参数      var arr=str.split("&"); //各个参数放到数组里   for(var i=0;i < arr.length;i++){     num=arr[i].indexOf("=");     if(num>0){ json[arr[i].substring(0,num)]=arr[i].substr(num+1)     }     } return json[can];}
或者:
function UrlSearch() {   var name,value;    var str=location.href; //取得整个地址栏   var num=str.indexOf("?")    str=str.substr(num+1); //取得所有参数   var arr=str.split("&"); //各个参数放到数组里   for(var i=0;i < arr.length;i++){     num=arr[i].indexOf("=");     if(num>0){      name=arr[i].substring(0,num);     value=arr[i].substr(num+1);     this[name]=value;     }     } } var Request=new UrlSearch(); //实例化console.log(Request.a);console.log(Request.b);

如图:



0 0