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

152
Views
¿Hay alguna manera de evitar que el usuario escriba en un cuadro de texto después de ingresar un carácter incorrecto?

No quiero deshabilitar el cuadro de entrada, me gustaría eliminar el carácter incorrecto o permitir que el usuario lo elimine.

Hasta ahora, he intentado establecer la longitud máxima de la entrada en la longitud donde se ingresó el carácter incorrecto, pero aún pude escribir después de eso.

Aquí hay una muestra de la función en la que estoy trabajando:

 function validateCharacterName() { var value = document.getElementById("characterName").value; var message = document.getElementById("characterNameMessage"); var button = document.getElementById("confirmButton") if (value.length <= 1) { message.innerText = "Name must be two or more characters." disableButton(button) } else { for (var counter = 0 ; counter < value.length; counter++) { var character = value.charAt(counter); if (isAlpha(character) && !isDigit(character)) { message.innerText = ""; enableButton(button); } else { message.innerText = "Character '" + character + "' is invalid."; disableButton(button); } } }

}

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La forma recomendada de garantizar que el texto ingresado solo contenga los caracteres esperados es usar el atributo de patrón . Esto funciona ligeramente diferente de lo que sugiere, pero estará más en línea con lo que el usuario esperaría, ya que es una forma muy común de hacerlo. Aquí puedes ver esto en acción .

Para ser específicos, aquí hay un ejemplo de cómo evitar la letra "a":

 <input type="text" pattern="[^a]*" title="Please avoid the letter 'a'">

El atributo patrón utiliza expresiones regulares . Esto necesita algo de tiempo para acostumbrarse, pero es bastante poderoso. En este caso el ^ insider el [] significa "no". La a significa "a" y el * significa permite cualquier número de apariciones de lo anterior. En resumen, esto significa permitir cualquier número de cualquier carácter que no sea una "a".

Es posible que desee utilizar un enfoque de lista blanca en lugar de un enfoque de lista negra. Por ejemplo, para permitir cualquier letra latina que pueda usar:

 <input type="text" pattern="[a-zA-Z]*" title="Please use letters only">
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!