Регулярное выражение для ZIP-кода США

Используйте /^\d{5}(?:-\d{4})?$/, чтобы проверить, что вся строка является корректным ZIP-кодом США. Каждый пример ниже проверен по шаблону, и его можно открыть в Regex Tester с уже загруженными образцами.

Обновлено

ВводРезультат
90210✓ Совпадение
10001-1234✓ Совпадение
02134✓ Совпадение
9021✗ Нет совпадения
902101✗ Нет совпадения
90210-12✗ Нет совпадения
90210 1234✗ Нет совпадения

Как работает шаблон

ЧастьЗначение
^\d{5}Пять цифр
(?:-\d{4})?Необязательное расширение ZIP+4: дефис и четыре цифры
$Конец строки

Примеры кода

JavaScript

const re = /^\d{5}(?:-\d{4})?$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'\d{5}(?:-\d{4})?', value))

PHP

preg_match('/^\d{5}(?:-\d{4})?$/', $value) === 1;

Замечания и ограничения

Храните ZIP-коды как строки, а не как числа: коды в Новой Англии начинаются с 0, и этот ноль при преобразовании в число потеряется.

Часто задаваемые вопросы

Какое регулярное выражение для ZIP-кода США?
/^\d{5}(?:-\d{4})?$/ — оно проверяет всю строку целиком. Что делает каждая часть, см. таблицу выше.
Какие примеры совпадают?
Из проверенных примеров совпадают: 90210, 10001-1234, 02134. Остальные — нет.
Как протестировать это регулярное выражение?
Нажмите «Открыть в тестере регулярных выражений» — шаблон, флаги и образцы текста загрузятся автоматически, а совпадения будут подсвечиваться по мере редактирования.