通过正则表达式获取查询参数的值
<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>"+"该参数的值:"+d
ecodeURIComponent(result[1]))
</script>
结果展⽰
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论