Posible duplicado:
¿Cuál es el código postal definitivo y la expresión regular zip?
Necesito Regex que pueda satisfacer mis tres condiciones para el código postal. P.ej-
- 12345
- 12345-6789
- 12345 1234
Cualquier consejo y sugerencia será muy apreciado. Gracias !
\d{5}([ \-]\d{4})?
. UU . Es .Respuestas:
^
= Inicio de la cadena.\d{5}
= Coincide con 5 dígitos (para la condición 1, 2, 3)(?:…)
= Agrupación[-\s]
= Coincide con un espacio (para la condición 3) o un guión (para la condición 2)\d{4}
= Coincide con 4 dígitos (para la condición 2, 3)…?
= El patrón anterior es opcional (para la condición 1)$
= Fin de la cadena.fuente
\s
coincidirá con cualquier espacio en blanco, incluidas las pestañas y las nuevas líneas.00544
es un código postal válido;544
no es./(^\d{5}(?:[\s]?[-\s][\s]?\d{4})?$)/
Solo para las tres condiciones enumeradas, estas expresiones también pueden funcionar:
Consulte esta demostración para obtener una explicación adicional.
Si hubiéramos tenido espacios adicionales inesperados entre 5 y 4 dígitos o un código postal continuo de 9 dígitos, como:
esta expresión, por ejemplo, sería una opción secundaria con menos restricciones:
Consulte esta demostración para obtener una explicación adicional.
Circuito RegEx
jex.im visualiza expresiones regulares:
Prueba
fuente
Sé que esto puede ser obvio para la mayoría de las personas que usan RegEx con frecuencia, pero en caso de que algún lector sea nuevo en RegEx, pensé que debería señalar una observación que hice y que fue útil para uno de mis proyectos.
En una respuesta anterior de @kennytm:
Si desea permitir códigos postales estándar de 5 dígitos y +4, este es un gran ejemplo.
Para hacer coincidir solo los códigos postales en el formato 'Zip + 4' de EE. UU. Como necesitaba hacer (solo condiciones 2 y 3), simplemente elimine el último
?
para que siempre coincida con el último grupo de 5 caracteres.Una herramienta útil que recomiendo para jugar con RegEx está vinculada a continuación:
https://regexr.com/
Utilizo esta herramienta con frecuencia cuando encuentro RegEx que hace algo similar a lo que necesito, pero que podría adaptarse un poco mejor. También tiene un ingenioso menú de referencia de RegEx y una interfaz informativa que lo mantiene al tanto de cómo sus cambios afectan las coincidencias para el texto de muestra que ingresó.
Si me equivoqué o me perdí algún dato importante, corrígeme.
fuente