Duplicata possible:
quel est le code postal ultime et l'expression régulière zip?
J'ai besoin de Regex qui peut satisfaire mes trois conditions pour le code postal. Par exemple-
- 12345
- 12345-6789
- 12345 1234
Tous les pointeurs et suggestions seraient très appréciés. Merci !
\d{5}([ \-]\d{4})?
.Réponses:
^
= Début de la chaîne.\d{5}
= Correspond à 5 chiffres (pour la condition 1, 2, 3)(?:…)
= Regroupement[-\s]
= Correspond à un espace (pour la condition 3) ou un tiret (pour la condition 2)\d{4}
= Correspond à 4 chiffres (pour les conditions 2, 3)…?
= Le modèle avant qu'il soit facultatif (pour la condition 1)$
= Fin de la chaîne.la source
\s
correspondra à tous les espaces, y compris les tabulations et les nouvelles lignes.00544
est un code postal valide;544
n'est pas./(^\d{5}(?:[\s]?[-\s][\s]?\d{4})?$)/
Pour les trois conditions répertoriées uniquement, ces expressions peuvent également fonctionner:
Veuillez consulter cette démo pour plus d'explications.
Si nous aurions eu des espaces supplémentaires inattendus entre 5 et 4 chiffres ou un code postal continu à 9 chiffres, tels que:
cette expression par exemple serait une option secondaire avec moins de contraintes:
Veuillez consulter cette démo pour plus d'explications.
Circuit RegEx
jex.im visualise les expressions régulières:
Tester
la source
Je sais que cela peut être évident pour la plupart des gens qui utilisent RegEx fréquemment, mais au cas où des lecteurs seraient nouveaux sur RegEx, j'ai pensé que je devrais signaler une observation que j'ai faite qui a été utile pour l'un de mes projets.
Dans une réponse précédente de @kennytm:
Si vous souhaitez autoriser les codes postaux standard à 5 chiffres et +4, ceci est un excellent exemple.
Pour faire correspondre uniquement les codes postaux au format US 'Zip + 4' comme je devais le faire (conditions 2 et 3 uniquement), supprimez simplement le dernier
?
afin qu'il corresponde toujours au dernier groupe de 5 caractères.Un outil utile que je recommande pour bricoler avec RegEx est lié ci-dessous:
https://regexr.com/
J'utilise cet outil fréquemment lorsque je trouve RegEx qui fait quelque chose de similaire à ce dont j'ai besoin, mais qui pourrait être un peu mieux adapté. Il dispose également d'un menu de référence RegEx astucieux et d'une interface informative qui vous tient au courant de l'impact de vos modifications sur les correspondances pour l'exemple de texte que vous avez entré.
Si quelque chose ne va pas ou si j'ai manqué une information importante, veuillez me corriger.
la source