Подтвердите почтовый индекс, используя Regex для каждого символа

Я пытаюсь проверить почтовый индекс Канады с помощью регулярных выражений, но я хотел бы проверить каждый символ по мере его ввода, а не ждать, пока пользователь отправит форму.

Все примеры, которые я нашел до сих пор (включая этот 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;
}

Есть ли у кого-нибудь примеры проверки почтового индекса при вводе каждого символа?


person DanielAttard    schedule 05.08.2012    source источник
comment
Извините, я не даю вам реального решения, просто предложение. В этом конкретном случае, когда вам нужно проверить почтовый индекс, если вы собираетесь реализовать свой собственный синтаксический анализатор (поскольку вы собираетесь проверять каждый символ в своей подпрограмме), было бы намного лучше просто убедиться, что символ является цифрой, а full length == 5 каждый раз, когда вызывается обработчик и не позволяет превышать максимальную ожидаемую длину. Итак, вам нужна помощь на стороне javascript, и, возможно, вы можете добавить тег в этот домен. У меня был такой сценарий.. Я уже использовал такую ​​технику. Потребуется слишком много времени, чтобы найти его   -  person Diego De Vita    schedule 06.08.2012


Ответы (1)


Вы можете написать регулярное выражение как ряд альтернатив, которые соответствуют частичному почтовому индексу из одного символа, двух символов и т. д., вплоть до полного почтового индекса, но я не уверен, является ли регулярное выражение правильным способом проверки почтового индекса. Код в любом случае.

person MRAB    schedule 06.08.2012