<!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>