我这个正则可以匹配两种情况 ,在匹配工具里没问题
不过在代码里却报错了
代码如下,这是怎么回事?
function getQueryString(name, source) {
var reg = new RegExp('(^|\\?|&|\/?)' + name + '(\/|=)(\d+|[^&]*)(\?|&|$)', 'i'),
source = source || window.location.search,
r = source.match(reg)
if (r != null) return unescape(r[3])
return null
}
var ss = "http://m.baidu.com/beauty/tag/457?tagName=Dior/%E8%BF%AA%E5%A5%A5";
var tt = getQueryString('keyword',ss);
alert(escape(tt))
用字符串构建正则表达式是转义要用双反斜杠
var reg = new RegExp('(^|\\?|&|\\/?)' + name + '(\\/|=)(\\d+|[^&]*)(\\?|&|$)', 'i'),