Канадская проверка индекса

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

52
задан Alan Moore 25 May 2015 в 17:07
поделиться

4 ответа

Почтовые индексы Канады не могут содержать буквы D, F, I, O, Q или U и не могут начинаться с W или Z:

[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]

Если вы хотите необязательный пробел посередине:

[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ] ?[0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]
83
ответ дан 7 November 2019 в 09:25
поделиться

Я предлагаю следующее:

bool FoundMatch = false;
try {
    FoundMatch = Regex.IsMatch(SubjectString, "\\A[ABCEGHJKLMNPRSTVXY]\\d[A-Z] ?\\d[A-Z]\\d\\z");
} catch (ArgumentException ex) {
    // Syntax error in the regular expression
}
2
ответ дан 7 November 2019 в 09:25
поделиться

Примерно так:

^[A-Z]\d[A-Z] \d[A-Z]\d$
1
ответ дан 7 November 2019 в 09:25
поделиться

Проверка формата почтового индекса без проверки его значения не стоит того, поскольку опечатки все равно могут привести к получению действительного почтового индекса для неправильного адреса. Вы хотите проверить код по базе данных адресов. См. http://www.canadapost.ca/cpo/mc/business/productsservices/atoz/postalcodeproducts.jsf

0
ответ дан 7 November 2019 в 09:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: