获取地址栏参数

方法一

代码:

//获取地址栏参数
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);

如图:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值