获取地址栏参数
方法一
代码:
//获取地址栏参数
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=123456
var $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%25BD
var $res=getQueryString('a');
console.log(aa);//%25E4%25BD%25A0%25E5%25A5%25BD%25E5%2595%258A%25E4%25B8%25AD%25E5%259B%25BD
console.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);
如图: