网上js中匹配url中参数的函数
function getQueryString(name){ var reg = new RegExp("(^|&)"+name+"=([^&]*)(&|$)"); var href = window.location.href var index = href.indexOf('?') var r = href.substr(index+1).match(reg); if(r != null) return unescape(r[2]); return null; }
我看解释,开头的(^|&)的作用是^或者&或者都没有,(&|$)是&或者$或者没有;
但是我试了以^开头,会匹配不到。
所以我理解^在这里就是开头,$是结尾.
如果是这样|&又怎么理解,或者说是不是可以这样写^(&),|没有意义的。这样又返回null.
我最后试了^(|&)"+name+"=(1*)(&|)$,返回结果和源码是一致的。
那么|是什么作用,是没有或者& 吗?
慕容708150
相关分类