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

158
Vistas
agregue el carácter dentro de la cadena usando en keyup regex javascript

Creo una función usando el evento en la tecla arriba para poner "/" dentro del valor del usuario de entrada usando expresiones regulares pero aún hay errores, ¿alguien puede ayudarme?

 $('#validUntil').on('keyup', function(e){ $(this).val(function(index, value) { return value // Add "/" separators: .replace(/\B(?=(\d{2})+(?!\d))/g, "/") }); });

por ejemplo, si escribo 5121, el resultado debe ser 51/21. el problema es que los resultados no coinciden, los resultados mostrados son: 5/1/21

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

0

Bienvenido a Stack Overflow. Considera lo siguiente.

 $(function() { $('#validUntil').on('keyup', function(e) { var val = $(this).val(); if (val.length > 3) { $(this).val(val.replace(/\B(?=(\d{2})+(?!\d))/g, "/")); } return true; }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" id="validUntil" />

Sospecho que el problema principal es que el valor se evalúa en cada evento keyup .

Agregar una condición para garantizar una longitud adecuada ayudará a garantizar que la expresión regular funcione cuando sea necesario.

Ahora, si el usuario ingresa 512111 , obtendrá problemas similares. Entonces, tal vez si se detecta / , se elimina y luego se aplica el reemplazo de expresiones regulares.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Está agregando una barra antes de los dos últimos números en la entrada, cada vez que se actualiza su valor.

Así que cuando estás escribiendo:


5 => 5

5 + 1 => 51 => 51

51 + 2 => 512 => 5/12

5/12 + 1 => 5/121 => 5/1/21


Al insertar la barra diagonal, asegúrese de eliminar la barra diagonal insertada anteriormente:

 return value.replaceAll('/', '') .replace(/\B(?=(\d{2})+(?!\d))/g, "/")
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