<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Untitled</title> <script> function showKeyCode(event) { event = window.event || event; alert(event.keyCode); //alert(String.fromCharCode(event.keyCode)); } </script> </head> <body> 不能输入中文:<input type="text" name="textfield" onkeyup="this.value=this.value.replace(/[^\da-z._-]/ig,'');"/><br/> 只允许输入数字和小数点:<input onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled"><br/> 得到按键的keycode:<input onKeyup="showKeyCode();" style="ime-mode:Disabled"><br/> <pre> 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、 onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup。 在这3种事件类型中,keydown和keyup比较底层,而keypress比较高级。这里所谓的高级是指,当用户按下shift + 1时,keypress是对这个按键事件进行解析后返回一个可打印的“!”字符,而keydown和keyup只是记录了shift + 1这个事件。[1] 但是keypress只能针对一些可以打印出来的字符有效,而对于功能按键,如F1-F12、Backspace、Enter、Escape、 PageUP、PageDown和箭头方向等,就不会产生keypress事件,但是可以产生keydown和keyup事件。然而在FireFox中,功能按键是可以产生keypress事件的。 传递给keydown、keypress和keyup事件句柄的事件对象有一些通用的属性。如果Alt、Ctrl或Shift和一个按键一起按下,这通过事件的altKey、ctrlKey和shiftKey属性表示,这些属性在FireFox和IE中是通用的。 </pre> 参考资料:<br/> <a href="http://blog.csdn.net/xushichang/article/details/4041507">http://blog.csdn.net/xushichang/article/details/4041507<a/> <br/> <a href="http://www.cnblogs.com/lr-ting/archive/2013/04/12/3016927.html">http://www.cnblogs.com/lr-ting/archive/2013/04/12/3016927.html</a> </body> </html>