Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

153
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!