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

205
Views
tecla charCode para teclado virtual

Tengo el siguiente código para permitir que el usuario ingrese solo números, esto funciona en el navegador. Pero cuando accedo desde el móvil, creo que no puedo obtener el código clave correcto. Entonces, ¿cuáles son los códigos clave para el mismo. No es lo mismo que la web.

 // block e char, dot, hiphen and spacebar if (event.key === 'e' || [46, 45, 32].includes(event.charCode)) { event.preventDefault(); }else{ // allow to input logic }

¿Cuáles son los códigos de caracteres para puntos, guiones y espacios que funcionarán tanto para el teclado web como para el móvil?

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

0

Su código está usando event.charCode, que no existe.

evento.que.charCode hace. Además no nos dices qué evento. Hay keypress, keydown, keyup, input y algunos no establecen algunos de los valores de evento esperados

Probado en Android e iOS usando browserstack

Solo uno que parece funcionar en React en Android

 export default function App() { const handleInput = (event) => { // eslint-disable-next-line event.target.value = event.target.value.replace(/[e\.\- ]/g, ""); console.log(event.target.value); }; return ( <div className="App"> <input type="number" onInput={handleInput} /> </div> ); }

Respuestas antiguas

Keydown y los nombres de código que se recomienda

 document.getElementById("positiveIntOnly").addEventListener("keydown",function(e) { // block e char, dot, hyphen and spacebar if (["KeyE", "Period", "Minus", "Space"].includes(e.code)) { event.preventDefault(); console.log(e.code); } });
 <input type="number" id="positiveIntOnly" />

O como lo menciona TJ, e.key:

 document.getElementById("positiveIntOnly").addEventListener("keydown",function(e) { // block e char, dot, hyphen and spacebar if ("e.- ".includes(e.key)) { event.preventDefault(); console.log(e.key); } });
 <input type="number" id="positiveIntOnly" />

Establezca un mínimo y un máximo y use una expresión regular para manejar el pegado

 <input type="number" id="positiveIntOnly" min="0" max="999" step="1" oninput="this.value = this.value.replace(/[e\.\- ]/g,'')" />

about 4 years ago · Juan Pablo Isaza Report

0

Puede simplemente usted la propiedad key :

 ["e" ,"E", "-", ".", " "].includes(e.key)

Se supone que no debes usar la propiedad charCode ya que está en desuso.

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!