如何排除信件?

时间:2014-08-07 13:05:53

标签: javascript regex

我在代码中使用正则表达式来检查几个字母/字母序列。

这是我的代码:

<script>
function myFunction() {
    // var str = "wr"; true
    // var str = "wR"; true
    // var str = "au"; true
    // var str = "u";  true
    // var str = "a";  true
    var str = "r";    // Must be false.
    alert(/[wr|wR|au|u|a]/.test(str));

}
</script>


如代码所示,它为wrwRaua返回true。至于rR,它必须是假的。

但如果我给'r''R',则返回true而不是false!

我对正则表达式并不擅长。任何人都能帮助我吗?

1 个答案:

答案 0 :(得分:2)

字符类([…])将匹配您放置在其中的任何字符(或字符范围)的任何单个实例。如果要使用替换(|),它们必须在字符类之外:

alert(/wr|wR|au|u|a/.test(str));

此外,您可能希望将其放在一个组((…))中并使用start(^)并在您的模式周围停止($)锚点,否则,它会很高兴匹配a中的war

alert(/^(wr|wR|au|u|a)$/.test(str));