Я уверен, что это просто, и я просто не вижу его. Я искал примеры и был настолько коротким и простым, насколько мне кажется, я не могу найти свою проблему.Javascript issue: regex issue find matches
Я хочу проверить поле Почтовый индекс и использовать формат почтового индекса Канады. Я нашел выражение, которое я хотел бы использовать, и это выглядит следующим образом:
var validZIP={
"US":"^\d{5}([\-]?\d{4})?$",
"UK":"^(GIR|[A-Z]\d[A-Z\d]??|[A-Z]{2}\d[A-Z\d]??)[ ]??(\d[A-Z]{2})$",
"CA":"^([ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ])\ {0,1}(\d[ABCEGHJKLMNPRSTVWXYZ]\d)$"
}
Пожалуйста, обратите внимание на CA
которая выступает за КАНАДУ в этом случае.
Моя onChange
функция вызывает следующий метод (OnChange класс checkValidPostal(this)
от входа):
function checkValidPostal(input)
{
var re = new RegExp(validZIP["CA"]);
var value = input.value.toUpperCase();
if (value.match(re))
{
input.value = value;
return true;
}
input.value = "";
return false;
}
Я проверил RegEx линию с помощью:
http://www.regular-expressions.info/javascriptexample.html и он прекрасно работает на этой странице, но для почему-то я не могу заставить его работать на моем!
Пожалуйста, помогите.
что вы переходящая в качестве входных данных? –
Почему вы используете 'match', а не' test'? –
Я передавал такие значения, как: m5m5m5 или M2M2M2 ... и т. Д. Я использовал некоторые инструкции console.log для проверки того, что тест выполняется, и значения проходят, но тест возвращает false. – NEW2WEB