Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

154
Vistas
¿Cómo permito que una de las dos entradas de un usuario coincida con el patrón de expresiones regulares?

Así que tengo dos expresiones regulares diferentes para códigos postales de dos países diferentes. Uno es Holanda y el otro es Bélgica.

Los países bajos:

 .match(/^[1-9][0-9]{3} ?(?!sa|sd|ss)[A-Za-z]{2}$/g)

Bélgica:

 .match(/^[1-9]{1}\d{3}$/g)

El usuario puede ingresar un código postal holandés o un código postal de Bélgica. Entonces, por ejemplo, el usuario puede ingresar: 1111 AA (Países Bajos) o 1111 (Bélgica). Sin embargo, quiero que la expresión regular permita una de las dos entradas, pero no puedo hacer que funcione

Esto es lo que he probado hasta ahora:

 .match(/^(?:[1-9]{1}\d{3}) | ([1-9][0-9]{3} ?(?!sa|sd|ss)[A-Za-z]{2}$)/g)

Pero simplemente estropea toda la expresión regular y no permite ninguno de los 2 códigos postales. ¿Estoy haciendo un mal uso del operador OR?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Parece que ha puesto por error un carácter de espacio inicial/posterior alrededor de la alternancia. Sin embargo, parece que puede eliminar la alternancia por completo y usar un grupo opcional sin captura:

 ^[1-9]\d{3}(?: ?(?!s[ads])[AZ]{2})?$

Ver una demostración en línea


  • ^ - Anclaje de la línea de salida;
  • [1-9]\d{3} - Un dígito que va del 1 al 9 seguido de otros tres dígitos;
  • (?: - Grupo abierto sin captura;
    • ?(?!s[ads]) : un espacio opcional seguido de una anticipación negativa para afirmar la posición no va seguido de ninguna combinación de una 's' con 'anuncios';
    • [AZ]{2} - Dos alpa-chars;
    • )? - Cierre el grupo de no captura y hágalo opcional;
  • $ - Anclaje de línea final.

Tenga en cuenta que coincidí con esto sin distinción entre mayúsculas y minúsculas.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda