javascript - 仅允许在输入文本上使用数字、退格键和删除键

标签 javascript jquery html

我在 HTML5 页面中有这个输入文本:

<input type="text" class="quantity" 
onkeypress='return (event.charCode >= 48 && event.charCode <= 57) || event.charCode == 8 || event.charCode == 46' required />

因为我需要一个只允许数字的输入文本,但我可能还需要删除一个数字。当我按下退格键或删除键时,没有任何反应。

上面的代码只允许数字。我怎样才能同时允许退格和删除?

最佳答案

keypress event 仅给出字母代码的输出。请改用 keydown

The keypress event is fired when a key is pressed down and that key normally produces a character value (use input instead).

<input type="text" class="quantity" 
onkeydown='return (event.which >= 48 && event.which <= 57) 
   || event.which == 8 || event.which == 46' required />

我正在使用 e.which 因为 keydown 生成它,但是,正如文档所说,which 已被弃用并且 key 应该改用(即使没有完全实现)

查看 Fiddlekeypress docs

关于javascript - 仅允许在输入文本上使用数字、退格键和删除键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748005/

相关文章:

javascript - Google maps Places API V3 自动完成 - 输入时选择第一个选项

javascript - 用于替换 JavaScript 模式的正则表达式

javascript - 为什么我的 for 循环在 5 次迭代后停止? (在函数 hello() 中)

javascript - 仅当宽度大于 x 像素时才执行 javascript 代码

javascript - 如何停止在 dropzone 上上传第二张图片?

javascript - css 可能是 jquery 帮助

php - 如何将 Google Places API 返回的数据存储到我的数据库中?

javascript - 如何使用带有 knockout 功能的 jquery ui 按钮?

javascript - 展开和折叠元素以及从 JavaScript 中删除静态文本

html - 是否有可能溢出带有固定子容器的父容器?