我写了一个使用正则表达式验证加拿大邮政编码的JavaScript。
然而,它似乎不起作用:
JavaScript
if语句:
if (myform.zip.value == "" || myform.zip.value == null || myform.zip.value == "Postal Code" || myform.zip.value.length < 12 ) {
alert("Please fill in field Postal Code. You should only enter 7 characters");
myform.zip.focus();
return false;
}
函数:
function okNumber(myform) {
var regex = /^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$/;
if (regex.test(myform.zip.value) == false) {
alert("Input Valid Postal Code");
myform.zip.focus();
return false;
}
return true;
}
问题
尽管代码正在执行,但它根本不起作用。 运行时,我收到以下消息:
请填写邮政编码字段。您应该只输入7个字符。
一个有效的邮政编码示例为T2X 1V4
。
{1}
这个表示法毫无意义。一个[]
字符类已经隐含了{1}
,\d
和其它匹配单一字符的元字符也是如此。除此之外,这段代码为什么不能正常工作呢?你确定输入没有前导或结尾的空白符吗? - Marc B