php - проверить, есть ли в строке адреса почтовый индекс
Я пытаюсь использовать регулярные выражения, чтобы проверить, содержит ли строка полного адреса почтовый индекс, кто-то может мне помочь?
$address = '10100 Trinity Parkway, 5th Floor Stockton, CA 95219';
if (preg_match('--regex_here--',$ad)) {
echo 'true';
}
1 ответ
Решение
Обычно почтовые индексы следуют за двухбуквенным кодом состояния, поэтому что-то вроде следующего должно быть довольно надежным:
/\b[A-Z]{2}\s+\d{5}(-\d{4})?\b/
Объяснение:
\b # word boundary
[A-Z]{2} # two letter state code
\s+ # whitespace
\d{5} # five digit zip
(-\d{4})? # optional zip extension
\b # word boundary
Вы также можете изменить \b
в конце $
так как почтовые индексы обычно (всегда?) в конце адреса.