JS从URL获取参数值的方法

传统截取字符串方法

function UrlParam(){//以百度搜索框输入hello搜索为例;此时地址栏显示为  https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=hello
		var url = window.location.search.substring[1];//tn=monline_3_dg&ie=utf-8&wd=hello
		var pArray = url.split("&");//tn=monline_3_dg,ie=utf-8,wd=hello
		
		for(var i=0;i<pArray.length;i++){
			var index = pArray[i].indexOf("=");//获取等号的位置索引
			var key = pArray[i].substring(0,index);
			var value = pArray[i].substring(index+1);
			this[key]=value;//返回对象的key属性的值value
		}
	}
	测试:
	var RequestUrl = new UrlParam();
	var wdValue = RequestUrl.wd;

 

使用正则表达式匹配

function getUrlParam(key){//以key为wd举例
		var url = window.location.search.substring(1);//返回页面url的?后面的部分 tn=monline_3_dg&ie=utf-8&wd=hello
		var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)");
		var res = url.match(reg);//获取与正则匹配的字符串数组 此处返回: &wd=hello,&,hello, 
		var value = res[2];//数组第三个就是要获取的值 hello
		return value;
	}
	测试:
	document.write(getUrlParam("wd"));


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值