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

181
Vistas
Cómo bloquear todos los números para que no se ingresen en el campo de texto

Quiero no permitir que un usuario ingrese ningún número en un campo de texto, ¿cómo puedo hacer que esto funcione con js? Estoy tratando de reemplazar los números con expresiones regulares pero no parece funcionar

 const selectElement = document.querySelector('.ice-cream'); selectElement.addEventListener('change', (event) => { const result = document.querySelector('.result'); let temp = event.target.value.replace(/[^0-9]/g, ''); result.textContent = `${temp}`; });
 <input type="text" class="ice-cream"> <p class="result"> </p>

yo tambien he probado esto

 const selectElement = document.querySelector('.ice-cream'); selectElement.addEventListener('change', (event) => { const result = document.querySelector('.result'); let pattern = new RegExp(/[AZ]/i); if(pattern.test(event.target.value)) { result.textContent = `${event.target.value}`; } else return; });

Parece que no permite ningún número al principio, pero cuando ingreso un texto y luego un número, lo permite cuando no debería. ¿Alguien puede darme un consejo?

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

0

Debe invertir su patrón de expresiones regulares a [0-9] sin el ^ , porque eso coincide con cualquier cosa que no sea un dígito.

Además, es posible que también desee considerar reemplazar el valor del elemento de entrada.

 const selectElement = document.querySelector('.ice-cream'); selectElement.addEventListener('input', (event) => { const result = document.querySelector('.result'); event.target.value = event.target.value.replace(/[0-9]/g, ''); result.textContent = event.target.value; });
 <input type="text" class="ice-cream"> <p class="result"> </p>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Agregue un detector de eventos de 'keydown' que verifique si el nuevo carácter es un número o algo más. Esto no permitirá que el número se escriba nunca en lugar de reemplazarlo después.

 var input = document.querySelector('input'); input.addEventListener('keydown', e => { if (e.key >= '0' && e.key <= '9') { e.preventDefault(); } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Quizás quieras algo como esto?

Esto cambia el valor de <input> , reemplazando cualquier número insertado por el usuario.

Además, la expresión regular estaba casi en el punto, solo necesitaba eliminar el ^ , ya que solo coincide con los dígitos al comienzo de la cadena.

 const selectElement = document.querySelector('.ice-cream'); selectElement.addEventListener('input', (event) => { selectElement.value = selectElement.value.replace(/[0-9]/g, ''); });
 <input type="text" class="ice-cream">

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