匹配正则表达式href = javascript

时间:2017-06-01 17:22:56

标签: javascript regex

我的正则表达式与href='javascript:...'href="javascript:..."匹配,但我也希望匹配href=javascript:...不带引号。

我该怎么办?

我的正则表达式:/\bhref\s*=[^"']*(?:"([^"]*)"|'([^']*)')/gi

我想要匹配的字符串:

<a href='javascript:alert(1)' sometags>click me</a>
<a href="javascript:alert(1)" sometags>click me</a>
<a href=javascript:alert(1) sometags>click me</a>

代码示例:

while((match = reg.exec(s)) !== null) {
    // In each cases I want to get javascript:alert(1) in match
}

1 个答案:

答案 0 :(得分:0)

为您的替代方案添加另一个案例。如果没有引号,则匹配到下一个空格或>

/\bhref\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]*))/gi

DEMO