用于加拿大邮政编码的javascript正则表达式

用于加拿大邮政编码的javascript正则表达式,javascript,regex,Javascript,Regex,可能重复: 我需要javascript正则表达式来验证加拿大邮政编码。 加拿大的邮政编码格式为“a1a1x1”或“a1a1x1”。但是它不包括字母D、F、I、O、Q或U。我在这里发现了一些字母,但它们是C#中的。由于例外单词没有共同之处,所以有效单词应该逐个书写 [ABCEGHJKLMNPRSTVWXYZ] 后跟一个数字 \d 这是三次 {3} 最后,我们添加“i”表示不区分大小写 var regex = /([ABCEGHJKLMNPRSTVWXYZ]\d){3}/i; 可能想把空间

可能重复:

我需要javascript正则表达式来验证加拿大邮政编码。
加拿大的邮政编码格式为“a1a1x1”或“a1a1x1”。但是它不包括字母D、F、I、O、Q或U。我在这里发现了一些字母,但它们是C#中的。

由于例外单词没有共同之处,所以有效单词应该逐个书写

[ABCEGHJKLMNPRSTVWXYZ]
后跟一个数字

\d
这是三次

{3}
最后,我们添加“i”表示不区分大小写

var regex = /([ABCEGHJKLMNPRSTVWXYZ]\d){3}/i;

可能想把空间从左到右(甚至在中间),中间的空间是兼性的,所以它能很好地完成工作。只需将返回值调整为true(第一个)和false(最后一个)。然后,请注意,此函数在变量“postal”“value”上测试正则表达式。我重新编辑了第三行,如下所示:if(regex.test(postal))…直接向函数提供值。请注意,由于需要新的邮政编码,某些字符的用法可能会随着时间的推移而改变。var tmp=new RegExp(/^(?)*[DFIOQU])[A-VXY][0-9][A-Z]+?[0-9][A-Z][0-9]$/I)ref:添加:中间有多个空格是可选的,不区分大小写。值得注意的是,一个好的问题应该表明您的努力。;-)@塔斯:下面是我的答案。例如,第一位数字不能是Z。
function checkPostal(postal) {
    var regex = new RegExp(/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ]( )?\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i);
    if (regex.test(postal.value))
        return true;
    else return false;
}