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

292
Vistas
RegEx if then else para prueba condicional dependiendo del primer carácter

Debería permitir 2 formatos de cadenas de entrada diferentes, cada uno con su propia validación. Entonces, por ejemplo:

AA2222222222222222

y

22222222222222222

Esto significa que si el primer carácter es una letra, debo validar para ^[a-zA-Z]{2}\d{16}$. Si el primer carácter es numérico, debo validar para d{16}.

Traté de escribirlo en una expresión regular condicional:

 ^(([a-zA-Z])(?([a-zA-Z])^[a-zA-Z]{2}\d{16}$|d{16})

pero obtengo un error de patrón y no puedo averiguar qué es exactamente lo que está mal.

Cualquier idea sería apreciada

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

0

Traté de escribirlo en una expresión regular condicional

JavaScript no admite la sintaxis condicional de expresiones regulares , por lo que (?ifthen|else) no funciona en JavaScript.

Esto significa que si el primer carácter es una letra, debo validar para ^[a-zA-Z]{2}\d{16}$. Si el primer carácter es numérico, debo validar para d{16}.

Dado que la parte \d{16} es la misma, puede hacer que la parte [a-zA-Z]{2} sea opcional:

 /^(?:[a-zA-Z]{2})?\d{16}$/

Eso usa un grupo que no captura alrededor de [a-zA-Z]{2} y hace que todo el grupo sea opcional a través de ? después de.

Si la validación fuera diferente (digamos, tal vez la versión con las letras al principio solo hace \d{14} ), podría usar una alternancia:

 /^(?:[a-zA-Z]{2}\d{14}|\d{16})$/

(Cuidado con el problema: sin la no captura alrededor de la alternancia, el ^ sería parte de la primera alternativa pero no de la segunda, y el $ sería parte de la segunda alternativa, pero no de la primera).

Pero en su caso específico, no necesita eso.

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