【发布时间】:2014-09-14 12:29:08
【问题描述】:
好吧好吧。我想限制输入字段只接受最大长度为 5 个字符的数字。
我的尝试:
HTML
<input type="number" maxlength="5" onKeyDown="numbersOnly(event);/>
<input type="text" pattern= "[0-9]" onKeyDown="numbersOnly(event);/>
Javascript
function numbersOnly(event,length)
{
return event.ctrlKey || event.altKey
|| (95<event.keyCode && event.keyCode<106)
|| (event.keyCode==8) || (event.keyCode==9)
|| (event.keyCode>34 && event.keyCode<40)
|| (event.keyCode==46)
|| (event.keyCode>47)&&(event.keyCode<=57) ;
}
所有作品都在 Firefox 中运行。但是当我使用 safari ipad 检查时,它接受特殊字符,如 ()@!#$&。我使用警报功能进行调试。它为 @ 和 2 、 3 和 # 等返回相同的 keyCode。我尝试了 keyUp、keyPress 事件和 event.charCode、event.which、event.key。没有任何效果
那么如何区分它,我还需要支持退格键、回车键、删除键和箭头键。
【问题讨论】:
-
numbersOnly是javascript函数而不是jquery,你能告诉我们你在哪里调用这个函数吗? -
查看这个类似问题的答案:stackoverflow.com/questions/37390665/… - 你可以写 e。 G。
<input type="text" data-filter="[0-9]{0,5}">
标签: javascript jquery html