0

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

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

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

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;
}

有没有人有任何示例说明如何在输入每个字符时验证邮政编码?

4

1 回答 1

0

您可以将正则表达式编写为一系列替代项,这些选项匹配一个字符、两个字符等的部分邮政编码,直至完整的邮政编码,但我不确定正则表达式是否是验证邮政编码的正确方法无论如何都要编码。

于 2012-08-06T00:44:00.900 回答