下面是一个利用 onkeypress 事件只允许用户在表单域输入数字的例子:
<html> <head> <script> function checkNumber(e) { var keynum = window.event ? e.keyCode : e.which; //alert(keynum); var tip = document.getElementById("tip"); if( (48<=keynum && keynum<=57) || keynum == 8 ){ tip.innerHTML = ""; return true; }else { tip.innerHTML = "提示:只能输入数字!"; return false; } } </script> </head> <body> <div>请输入数字:<input type="text" onkeypress="return checkNumber(event);" /> <span id="tip"></span> </div> </body> </html>
event.keyCode/event.which 得到的是一个按键对应的数字值(Unicode 编码),常用键值列于 onkeydown 事件一节中。例子中对 8 的值做特殊处理,是为了在文本域中支持退格(Backspace)键。