function onlyNum() { if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)) { if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) { event.returnValue=false; } } }
<input οnkeydοwn="onlyNum()"/>
上面的方法解析:
回车:8 Delete:46 方向键左:37 方向键右:39
大键盘上方 0-9 : 48-57 小键盘数字键0-9 : 96-105
设定当keydown时,调用这个函数,如果不是 回车,Delete,方向键左,方向键右, 就会做判断 输入的是不是数字,当不是数字的时候就把Event对象的returnValue属性设为false,取消事件的源元素的默认动作。