用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 相关文章推荐
input按钮的事件处理大全
Dec 10 Javascript
jquery基础教程之数组使用详解
Mar 10 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
JavaScript 面向对象与原型
Apr 10 Javascript
浅谈javascript属性onresize
Apr 20 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
浅谈几种常用的JS类定义方法
Jun 08 Javascript
js实现表单及时验证功能 用户信息立即验证
Sep 13 Javascript
JavaScript伪数组用法实例分析
Dec 22 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
May 31 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
Nov 24 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
PHP form 表单传参明细研究
2009/07/17 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
12个非常有创意的JavaScript小游戏
2010/03/18 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
nodejs批量修改文件编码格式
2015/01/22 NodeJs
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
对Django项目中的ORM映射与模糊查询的使用详解
2019/07/18 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
竞聘书格式及范文
2014/03/31 职场文书
消防安全宣传口号
2014/06/10 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
教师师德师风整改措施
2014/10/24 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis