在使用者遇到需要輸入密碼的頁面時候,密碼中是否有大寫字母?大寫鍵(Caps Lock)是否開啟?如果能給使用者以提示,豈不是更好?
下面的範例程式碼給出了方法,必要的說明代碼當中都有注釋。
問中知識點:event.keyCode 和 event.shiftKey
代碼
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Detect Caps Lock </tITLE> <script> function detectCapsLock(e){ valueCapsLock = e.keyCode ? e.keyCode:e.which; // Caps Lock 是否開啟 valueShift = e.shiftKey ? e.shiftKey:((valueCapsLock == 16 ) ? true : false ); // shift鍵是否按住 if (((valueCapsLock >= 65 && valueCapsLock <= 90 ) && ! valueShift) // Caps Lock 開啟,並且 shift鍵沒有按住 || ((valueCapsLock >= 97 && valueCapsLock <= 122 ) && valueShift)) // Caps Lock 開啟,並且按住 shift鍵 document.getElementById('capStatus').style.visibility = 'visible'; else document.getElementById('capStatus').style.visibility = 'hidden'; /* javascript中keyCode代碼對應表 event.keyCode=32 空格 event.keyCode=13 斷行符號 event.keyCode=27 Esc event.keyCode=16) Shift event.keyCode=17) Ctrl event.keyCode=18) Alt */ } </script> </hEAD> <BODY> <input type ="password" name ="pwd" onkeypress ="detectCapsLock(event)" /> <div id ="capStatus" style ="visibility:hidden"><font color =red> Caps Lock is on. <font></div> </bODY> </hTML>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
原文:http://www.blogjava.net/majianan/archive/2007/02/01/97284.html