通过正则表达式获取查询参数的值

<script type="text/javascript">
	//测试的url:zhengze.html?name=lisi&gender=女&age=100
	
	function getParamValue(param){
		var urlStr,reg,regResult,result;
		//获取包括问号之后的查询参数字符串(即?name=lisi&gender=女&age=100,这里没有直接去除?,因此包含?)
		urlStr = window.location.search;
		//字符串拼接成正则表达式,[^&]表示匹配非&的字符,[^&]+表示多次匹配非&的字符,/g表示全局查询
		reg = "/"+param+"=[^&]+/g";
		//eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。,若不进行转换,则该正则表达式不可以
		reg = eval(reg);
		//将匹配结果转化成字符串
		regResult = urlStr.match(reg).toString();
		//通过=切割字符串,组成数组,下标0为所查询的参数,下标1为参数值
		result = regResult.split('=');
		//返回结果(返回的是数组),若想直接返回参数值,则将return result改成return decodeURIComponent(resul[1])即可
		return result;
	}
	
	var result = getParamValue('name');
	
	//decodeURIComponent()用于解码url中被编码的中文字符,若不解码,对英文字符串可正常使用,但中文获取到的则是编码后的字符串
	document.write("查询参数:"+result[0]+"</br>"+"该参数的值:"+decodeURIComponent(result[1]))
</script>


结果展示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值