在每个字符上使用Regex验证邮政编码

时间:2012-08-05 20:03:30

标签: regex validation postal-code

我正在尝试使用正则表达式验证加拿大的邮政编码,但我想在输入时测试每个字符,而不是等到用户提交表单。

到目前为止我找到的所有示例(包括此one)似乎只验证整个用户条目,而不是输入的每个字符。

这是我目前使用的内容,但它仅适用于整个用户条目,而不适用于每个字符:

function validate(myform) {
if (myform.zip.value == "" || myform.zip.value == null || myform.zip.value == "Postal Code" || myform.zip.value.length > 7 ) {
    alert("Please fill in field Postal Code. You should only enter 7 characters");
    myform.zip.focus();
    return false;
}
return okNumber(myform);
}

function okNumber(myform) {
var regex = /^[ABCEGHJKLMNPRSTVXY]\d[A-Z] *\d[A-Z]\d$/;
if (regex.test(myform.zip.value) == false) {
    alert("Input Valid Postal Code");
    myform.zip.focus();
    return false;
}
return true;
}

有没有人在输入每个字符时有任何验证邮政编码的例子?

1 个答案:

答案 0 :(得分:0)

你可以把正则表达式写成一系列替代品,它们匹配一个字符,两个字符等的部分邮政编码,直到完整的邮政编码,但我不确定正则表达式是否是正确的方法无论如何都要验证邮政编码。