這是我最新的代碼,它將支持所有的瀏覽器。 功能isAlphaNumeric(evtGet){
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer" || browser == "Mozilla Firefox") {
var keyGet = evtGet.keyCode;
} else {
var keyGet = evtGet.which; //(window.Event) ? evtGet.which : evtGet.keyCode;
}
alert(keyGet);
if ((keyGet > 47 && keyGet < 58) || (keyGet > 64 && keyGet < 91) || (keyGet > 96 && keyGet < 123) || (keyGet == 9) || (keyGet == 32) || (keyGet == 8) || (keyGet == 0) || (keyGet == 13)||(keyGet==110))
return;
else
if (browser == "Microsoft Internet Explorer" || browser == "Mozilla Firefox")
window.event.returnValue = null;
else
evtGet.preventDefault();
}
把上面的代碼在jsp
的報頭中,並從輸入字段等 調用onkeypress事件= 「返回isAlphaNumeric(事件,THIS.VALUE);」>
假設你想在代碼按照您的要求發生變化,有一個警告框,請運行該代碼1然後點擊鍵盤,它會顯示鍵碼按您的要求
例子 - 你想在字段中輸入(。)它會顯示你的密鑰代碼爲點號47,你可以寫(keyGet==47)
那麼,這有什麼問題?連字符的鍵碼是45,這會導致您的邏輯返回false。這不是用意嗎? – 2013-05-08 21:09:34
爲什麼不檢查像'/ 0-9a-z/i'這樣的正則表達式的字母數字? – bfavaretto 2013-05-08 21:12:08
我逗號破折號\t 189(連字符) 期\t 190 http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes – tv4free 2013-05-08 21:21:33