javascript - 验证正则表达式问题

标签 javascript regex

我知道有很多与验证相关的问题,但是,在看了这么多之后,我似乎无法解决这个问题。

我正在尝试将邮政编码与我在 SO 上找到的正则表达式进行匹配。 fiddle 说邮政编码无效,但当我在 rubular.com 上测试正则表达式时,它工作正常

Rubular Image

JS fiddle https://jsfiddle.net/aeqawadv/1/

<div id="test"></div>

<script type="text/javascript">
    var string = "SK13 6NT";
    var ukPostcode = new RegExp(/^[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}$i/);
    if (ukPostcode.test(string)) {
        document.getElementById("test").innerHTML="Valid";
    } else {
        document.getElementById("test").innerHTML="Invalid";
    }
</script>

有什么想法吗?我也尝试过 match() 而不是 test()

编辑

刚刚意识到我使用的是 rubular 而不是 scriptular,但是结果仍然相同

最佳答案

在美元符号末尾有一个“i”。

var ukPostcode = new RegExp(/^[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}$i/);

应该是

var ukPostcode = new RegExp(/^[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}$/);

或者(如果您的目标是不区分大小写)

var ukPostcode = new RegExp(/^[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}$/i);

关于javascript - 验证正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29420617/

相关文章:

javascript - Jquery $.get ... "data"变量在 Internet Explorer 中的循环中没有改变

javascript - 无法注册用户mongoose nodejs

javascript - 数组 A[N] 包含自然数。求给定 K 的倍数的元素之和

java - 用于匹配用户输入中的字符串文字的正则表达式问题

javascript - 使用正则表达式提取值

python - 获取 PEP8 "invalid escape sequence"警告试图在正则表达式中转义括号

javascript - 在使用 JavaScript 更改 CSS 类时转义正斜杠 ("/")

javascript - jquery validator addClassRules 方法不适用于所有元素

javascript - 在javascript中匹配css规则

java - Java 中长字符串的正则表达式模式匹配性能