Regex pour le code postal US

Utilisez /^\d{5}(?:-\d{4})?$/ pour vérifier qu'une chaîne entière est un code postal US valide. Chaque exemple ci-dessous a été testé avec ce motif, et vous pouvez l'ouvrir dans le testeur de regex avec les exemples déjà chargés.

Mis à jour le

SaisieRésultat
90210✓ Correspond
10001-1234✓ Correspond
02134✓ Correspond
9021✗ Aucune correspondance
902101✗ Aucune correspondance
90210-12✗ Aucune correspondance
90210 1234✗ Aucune correspondance

Fonctionnement du motif

ÉlémentSignification
^\d{5}Cinq chiffres
(?:-\d{4})?Extension ZIP+4 facultative : un tiret suivi de quatre chiffres
$Fin de la chaîne

Exemples de code

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;

Remarques et limites

Conservez les codes postaux sous forme de chaînes, et non de nombres : les codes de la Nouvelle-Angleterre commencent par 0, et ce zéro disparaîtrait.

Questions fréquentes

Quelle est la regex pour le code postal US ?
/^\d{5}(?:-\d{4})?$/ — elle couvre la chaîne entière. Consultez le tableau ci-dessus pour le rôle de chaque élément.
Quels exemples correspondent ?
Parmi les exemples testés, ceux-ci correspondent : 90210, 10001-1234, 02134. Les autres ne correspondent pas.
Comment tester cette regex ?
Cliquez sur « Ouvrir dans le testeur de regex » : le motif, les drapeaux et le texte d'exemple se chargent automatiquement, et les correspondances s'affichent en surbrillance pendant que vous modifiez le texte.