用Javascript评估用户输入密码的强度实现代码


Posted in Javascript onNovember 30, 2011

1.如果密码少于5位,那么就认为这是一个弱密码。
2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码。
3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码。
4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密码。

<script language="javascript"> 
//CharMode函数 function CharMode(iN){ 
if (iN>=48 && iN <=57) //数字 
return 1; 
if (iN>=65 && iN <=90) //大写字母 
return 2; 
if (iN>=97 && iN <=122) //小写 
return 4; 
else 
return 8; //特殊字符 //bitTotal函数 function bitTotal(num){ 
modes=0; 
for (i=0;i<4;i++){ 
if (num & 1) modes++; 
num>>>=1; return modes; //checkStrong函数 function checkStrong(sPW){ 
if (sPW.length<=4) 
return 0; //密码太短 
Modes=0; 
for (i=0;i<sPW.length;i++){ Modes|=CharMode(sPW.charCodeAt(i)); return bitTotal(Modes); //pwStrength函数 function pwStrength(pwd){ 
O_color="#eeeeee"; 
L_color="#FF0000"; 
M_color="#FF9900"; 
H_color="#33CC00"; 
if (pwd==null||pwd==''){ 
Lcolor=Mcolor=Hcolor=O_color; else{ 
S_level=checkStrong(pwd); 
switch(S_level) { 
case 0: 
Lcolor=Mcolor=Hcolor=O_color; 
case 1: 
Lcolor=L_color; 
Mcolor=Hcolor=O_color; 
break; 
case 2: 
Lcolor=Mcolor=M_color; 
Hcolor=O_color; 
break; 
default: 
Lcolor=Mcolor=Hcolor=H_color; } 
document.getElementByIdx_x("strength_L").style.background=Lcolor; 
document.getElementByIdx_x("strength_M").style.background=Mcolor; 
document.getElementByIdx_x("strength_H").style.background=Hcolor; 
return; </script> 
<form name=form1 action="" > 
输入密码:<input type="password" size="10" onKeyUp="pwStrength(this.value)" onBlur="pwStrength(this.value)"> 
<br>密码强度: 
<table width="217" border="1" cellspacing="0" cellpadding="1" 
bordercolor="#cccccc" height="23" style='display:inline'> 
<tr align="center" bgcolor="#eeeeee"> 
<td width="33%" id="strength_L">弱</td> 
<td width="33%" id="strength_M">中</td> 
<td width="33%" id="strength_H">强</td> 
</tr> 
</table> 
</form>
Javascript 相关文章推荐
页面js遇到乱码问题的解决方法是和无法转码的情况
Apr 30 Javascript
JQuery中使用ajax传输超大数据的解决方法
Jul 14 Javascript
JS实现日期时间动态显示的方法
Dec 07 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
Dec 12 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
javaScript知识点总结(必看篇)
Jun 10 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
Jan 08 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
Mar 24 Javascript
vue 动态生成拓扑图的示例
Jan 03 Vue.js
vue 组件基础知识总结
Jan 26 Vue.js
用Javascript评估用户输入密码的强度(Knockout版)
Nov 30 #Javascript
Ubuntu 11.10 安装Node.js的方法
Nov 30 #Javascript
JavaScript中数组的排序、乱序和搜索实现代码
Nov 30 #Javascript
js常用代码段整理
Nov 30 #Javascript
firebug的一个有趣现象介绍
Nov 30 #Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 #Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
Nov 30 #Javascript
You might like
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python数据挖掘需要学的内容
2019/06/23 Python
Django 路由层URLconf的实现
2019/12/30 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
带病坚持工作事迹
2014/05/03 职场文书
个人买房协议书范本
2014/10/06 职场文书
预备党员转正意见
2015/06/01 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库