Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda