用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 相关文章推荐
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
Aug 15 Javascript
JavaScript Event学习第九章 鼠标事件
Feb 08 Javascript
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
Oct 15 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
Mar 04 Javascript
JS保存、读取、换行、转Json报错处理方法
Jun 14 Javascript
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
JS实现根据当前文字选择返回被选中的文字
May 21 Javascript
JS实现的五级联动菜单效果完整实例
Feb 23 Javascript
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
Aug 14 Javascript
java实现单链表增删改查的实例代码详解
Aug 30 Javascript
vue判断按钮是否可以点击
Apr 09 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
桌面中心(四)数据显示
2006/10/09 PHP
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
用ADODB.Stream转换
2007/01/22 Javascript
prototype Element学习笔记(篇一)
2008/10/26 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
常用的javascript设计模式
2017/01/11 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
python计算日期之间的放假日期
2018/06/05 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
详解python编译器和解释器的区别
2019/06/24 Python
Python多线程多进程实例对比解析
2020/03/12 Python
浅谈tensorflow模型保存为pb的各种姿势
2020/05/25 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
html5简介及新增功能介绍
2020/05/18 HTML / CSS
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
证婚人经典证婚词
2014/01/09 职场文书
餐饮加盟计划书
2014/01/10 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
经典促销广告词大全
2014/03/19 职场文书
python基础入门之字典和集合
2021/06/13 Python
一条 SQL 语句执行过程
2022/03/17 MySQL
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技