用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 相关文章推荐
COM中获取JavaScript数组大小的代码
Nov 22 Javascript
Javascript 类与静态类的实现(续)
Apr 02 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
Nov 14 Javascript
使用javascript创建快捷方式的简单实例
Aug 09 Javascript
VUE JS 使用组件实现双向绑定的示例代码
Jan 10 Javascript
基于ajax和jsonp的原生封装(实例)
Oct 16 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
Mar 08 Javascript
JS实现提示框跟随鼠标移动
Aug 27 Javascript
js实现九宫格布局效果
May 28 Javascript
Element Alert警告的具体使用方法
Jul 27 Javascript
JavaScript数组 几个常用方法总结
Nov 11 Javascript
用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
多文件上传的例子
2006/10/09 PHP
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
javascript,jquery闭包概念分析
2010/06/19 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
Python基础入门之seed()方法的使用
2015/05/15 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
简单了解python关系(比较)运算符
2019/07/08 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
Python图像读写方法对比
2020/11/16 Python
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
2015年推普周活动方案
2015/05/06 职场文书
国情备忘录观后感
2015/06/04 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL