Título: [Pregunta]: Expresión regular para formato serial "12345-ABCDE-12345" Publicado por: Leguim en 13 Junio 2022, 18:23 pm Hola, estoy teniendo problemas con una expresión regular donde se reemplazarán los valores con vacío donde no cumpla el formato de un serial.
"12345-ABCDE-12345" Es decir, 5 números seguidos de un guión medio seguidos de 6 letras mayúsculas de la A a la Z, nuevamente un guión medio y otros 5 numeros. Código
De momento tengo esto, pero no entiendo ya que va bien hasta los primeros 5 números pero después aunque ponga guión medio no me lo toma y me lo quita. Título: Re: [Pregunta]: Expresión regular para formato serial "12345-ABCDE-12345" Publicado por: MCKSys Argentina en 13 Junio 2022, 19:41 pm Hola!
No sé mucho de programación web, pero creo que en la 1era instrucción, estás pisando el valor del textbox (le estás asignando un valor). Si es así, quizás deberías guardar el valor del textbox en una variable e ir reemplazando en la misma para finalmente asignarle al textbox. Saludos! Título: Re: [Pregunta]: Expresión regular para formato serial "12345-ABCDE-12345" Publicado por: MinusFour en 13 Junio 2022, 20:36 pm Porque estás remplazando la cadena de texto en cada instrucción. Solo la primera instrucción toma los primeros 5 caracteres y aplica el patrón de remplazo. Ese valor se guarda en la misma variable que utilizas para hacer validación. Obviamente en las siguientes instrucciones no existen los caracteres después del índice 5...
Título: Re: [Pregunta]: Expresión regular para formato serial "12345-ABCDE-12345" Publicado por: l337* en 24 Junio 2022, 04:35 am por qué no lo haces más simple?
Código: const input = document.getElementById('giftcard-input'); tambien podrias hacerlo por partes como -4 sugerio arriba, tomas los primeros 5, validas, luego los siguientes 5, etc. otra es tener 3 inputs diferentes y solo validar si es letra o digito, podrias usar el attributo pattern y required en el input para que el navegador lo valide solo. no hay necesidad de complicarse con tanto regex ni tratar de solucionar para cualquier caso inexistente. |