Если вы собираетесь использовать Regex, это должно работать для строго отформатированных ZIP-архивов: ^ \ d {5} ([- +]? \ D {4})? $
- 12345
- 123456789
- 12345-6789
- 12345 + 6789
- 12345-67ND (да, вы правильно прочитали, иногда последние два могут быть ND)
Но проблема все еще есть.Некоторые приложения пытаются интерпретировать 5-значные ZIP как целые числа - например, Microsoft Excel.Это означает, что иногда почтовые индексы с нулями впереди, такие как в Новой Англии и Пуэрто-Рико, часто имеют проблемы.Таким образом, вы также можете рассмотреть возможность поиска трехзначных и четырехзначных значений.
«Первый» почтовый индекс в США - 00501 и является IRS.(Возможно, мы не должны позволять этому проверять!) Когда интерпретируется как целое число, это 501. Теперь у нас есть проблема.
Это важно знать, потому что, в отличие от кредитных карт, которые имеют мод10 контрольных сумм, адреса не проверяются самостоятельно.Это означает, что вы не можете знать, правильно ли отформатирован и стандартизирован адрес без каких-либо внешних прав доступа.
И как только вам понадобится стандартизировать адрес с помощью внешних прав доступа, вы можетепроверьте и подтвердите адрес.
Я должен упомянуть, что я являюсь основателем SmartyStreets.У нас есть веб-служба проверки адресов , где вы можете программно отправлять нам свои адреса в виде списка, и мы будем их очищать, стандартизировать и проверять.