用JavaScript检查大写键(Caps Lock)是否打开


在用户遇到需要输入密码的页面时候,密码中是否有大写字母?大写键(Caps Lock)是否打开?如果能给用户以提示,岂不是更好?

  下面的示例代码给出了方法,必要的说明代码当中都有注释。

  问中知识点:event.keyCode 和 event.shiftKey

  如果有不对,不明白地方或者有更好的建议,请告诉我!谢谢^+^

  HTML页面代码

<! DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN" >
< HTML >
< HEAD >
< TITLE > DetectCapsLock </ TITLE >
< script >
function detectCapsLock(e){
  valueCapsLock = e.keyCode ? e.keyCode:e.which; // CapsLock 是否打开
  valueShift = e.shiftKey ? e.shiftKey:((valueCapsLock ==  16 ) ? true : false ); // shift键是否按住
   if (((valueCapsLock >=  65  && valueCapsLock <=  90 ) &&  ! valueShift) // CapsLock打开,并且shift键没有按住
   || ((valueCapsLock >=  97  && valueCapsLock <=  122 ) && valueShift)) // CapsLock打开,并且按住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 > CapsLockison. < font ></ div >
</ BODY >
</ HTML >



相关阅读:
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
javascript学习笔记(三)显示当时时间的代码
Vista、Win7桌面删除不掉的广告图标的解决办法
给windows服务添加描述-.NET教程,Asp.Net开发
实用的CSS常见的问题和技巧总结
SQL Server服务代理的队列
巧用Recent模块加固Linux安全
js下通过prototype扩展实现indexOf的代码
CSS+XHTML实现的圆角效果
Oracle 自动冷备份脚本
asp.net 执行事务代码
硬盘安装Win 2008 32/64位的方法区别
彻底解决Access数据库被恶意下载的方法
ASP.NET 全局异常处理
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4