用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 相关文章推荐
Extjs学习笔记之二 初识Extjs之Form
Jan 07 Javascript
Javascript 通过json自动生成Dom的代码
Apr 01 Javascript
Jquery ajaxsubmit上传图片实现代码
Nov 04 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
javascript操作select元素实例分析
Mar 27 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 Javascript
原生javascript 学习之js变量全面了解
Jul 14 Javascript
js中的关联数组与普通数组详解
Jul 27 Javascript
ionic实现滑动的三种方式
Aug 27 Javascript
AngularJS 单元测试(一)详解
Sep 21 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 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实现ODBC数据分页显示一例
2006/10/09 PHP
URL Rewrite的设置方法
2007/01/02 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
Laravel下生成验证码的类
2017/11/15 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
2019/05/24 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
Python易忽视知识点小结
2015/05/25 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python生成器用法实例详解
2019/11/22 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
基于python 取余问题(%)详解
2020/06/03 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
自荐信写法介绍
2014/01/25 职场文书
2014春晚主持词
2014/03/25 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
黄山导游词
2015/01/31 职场文书
安全保证书怎么写
2015/02/28 职场文书
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js
Python实现仓库管理系统
2022/05/30 Python