关于js匹配问题
来源:6-4 店铺信息编辑之前端实现
gliiiii
2019-10-10
function getQueryString(name){
var reg=new RegExp("(|&)"+name+"=([&]*)(&|$)");
var r=window.location.search.substr(1).match(reg);
if(r!=null){
return decodeURIComponent(r[2]);
}
return ‘’;
}
在以上匹配规则中,匹配出来的r值是一个数组,长度为4,但是根据匹配规则来看,应该是只匹配的到shopId=1这个内容,为什么1会被放在r[2]呢?这个1不满足匹配规则啊,这是什么原因?是不是匹配到shopId=1之后,只要是数字就会被自动放到r[2]这个位置?
写回答
1回答
-
翔仔
2019-10-11
同学好,建议同学直接打开Chrome开发者模式,设置断点调试一下,就会发现 r[2]获取的是 参数=value 里的value值
shopId=1,会被分成 r[1] = "shopId=" r[2]=1 这两个模块, r[0]应该是"shopId=1"
你调试看看或者直接alert出来就知道了
022019-10-11
相似问题