Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!