[转载]用Javascript评估用户输入密码的强度

简介:
复制代码
 1 用Javascript评估用户输入密码的强度
 2 
 3 1.如果密码少于5位,那么就认为这是一个弱密码。
 4 2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码。
 5 3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码。
 6 4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密码。
 7 本程序将根据用户输入的密码分别显示不同的颜色表示密码的强度,具体程序如下:
 8 <scriptt language=javascriptt> 
 9  // CharMode函数 
10  // 测试某个字符是属于哪一类. 
11  function CharMode(iN){ 
12  if (iN>=48 && iN <=57)  // 数字 
13  return 1; 
14  if (iN>=65 && iN <=90)  // 大写字母 
15  return 2; 
16  if (iN>=97 && iN <=122)  // 小写 
17  return 4; 
18  else 
19  return 8;  // 特殊字符 
20 
21  // bitTotal函数 
22  // 计算出当前密码当中一共有多少种模式 
23  function bitTotal(num){ 
24 modes=0; 
25  for (i=0;i<4;i++){ 
26  if (num & 1) modes++; 
27 num>>>=1; 
28 } 
29  return modes; 
30 } 
31  // checkStrong函数 
32  // 返回密码的强度级别 
33  function checkStrong(sPW){ 
34  if (sPW.length<=4) 
35  return 0;  // 密码太短 
36  Modes=0; 
37  for (i=0;i<sPW.length;i++){ 
38  // 测试每一个字符的类别并统计一共有多少种模式. 
39  Modes|=CharMode(sPW.charCodeAt(i)); 
40 } 
41  return bitTotal(Modes); 
42 } 
43  // pwStrength函数 
44  // 当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色 
45  function pwStrength(pwd){ 
46 O_color="#eeeeee"; 
47 L_color="#FF0000"; 
48 M_color="#FF9900"; 
49 H_color="#33CC00"; 
50  if (pwd== null||pwd==''){ 
51 Lcolor=Mcolor=Hcolor=O_color; 
52 } 
53  else
54 S_level=checkStrong(pwd); 
55  switch(S_level) { 
56  case 0: 
57 Lcolor=Mcolor=Hcolor=O_color; 
58  case 1: 
59 Lcolor=L_color; 
60 Mcolor=Hcolor=O_color; 
61  break
62  case 2: 
63 Lcolor=Mcolor=M_color; 
64 Hcolor=O_color; 
65  break
66  default
67 Lcolor=Mcolor=Hcolor=H_color; 
68 } 
69 } 
70 document.getElementById("strength_L").style.background=Lcolor; 
71 document.getElementById("strength_M").style.background=Mcolor; 
72 document.getElementById("strength_H").style.background=Hcolor; 
73  return
74 } 
75 </scriptt> 
76 <form name=form1 action="" > 
77 输入密码:<input type=password size=10 onKeyUp=pwStrength( this.value)
78 onBlur=pwStrength( this.value)> 
79 <br>密码强度: 
80 <table width="217" border="1" cellspacing="0" cellpadding="1"
81 bordercolor="#cccccc" height="23" style='display:inline'> 
82 <tr align="center" bgcolor="#eeeeee"> 
83 <td width="33%" id="strength_L">弱</td> 
84 <td width="33%" id="strength_M">中</td> 
85 <td width="33%" id="strength_H">强</td> 
86 </tr> 
87 </table> 
88 </form>
复制代码本文转自 酷小孩 博客园博客,原文链接:  http://www.cnblogs.com/babycool/archive/2011/11/07/2240449.html  ,如需转载请自行联系原作者
相关文章
|
7月前
|
JavaScript
vue.js项目评估流程图特效
vue.js项目评估流程图特效
123 2
vue.js项目评估流程图特效
|
7月前
|
JavaScript 算法 数据安全/隐私保护
原生JS实现:密码输入框显示隐藏密码效果
原生JS实现:密码输入框显示隐藏密码效果
185 4
|
7月前
|
JavaScript 数据安全/隐私保护
JS正则验证密码
JS正则验证密码
73 0
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
前端开发 JavaScript 安全
前端JS实现密码校验键盘横竖、26字母、相同字母、相同数字、密码包含用户名、数字 字母不能连续 不能相同三个、不能横向 竖向 连续三个 包含字符、不能有中文符号
该 JavaScript 代码实现了一个严格的密码校验功能,确保密码满足多种安全要求,包括长度、字符类型、不包含中文及特殊字符、不与用户名相似等。通过多个辅助函数,如 `validateFormat` 检查密码格式,`isHasChinaCharFun` 检测中文符号,`getCharAll` 生成键盘组合,以及 `checkPasswordFun` 综合验证密码的有效性和安全性。此工具对于提高用户账户的安全性非常有用。
82 0
|
4月前
|
前端开发 JavaScript 数据安全/隐私保护
前端JS正则校验密码之3种实现方式
这篇文章展示了三种使用JavaScript正则表达式来校验密码的方法,密码需要满足包含大写字母、小写字母、数字及特殊字符,并在8到16位之间,同时提供了示例代码和实现效果。
163 1
前端JS正则校验密码之3种实现方式
|
4月前
|
JavaScript 前端开发 API
vue中将验证表单输入框的方法写在一个js文件中(表达式验证邮箱、身份证、号码、两次输入的密码是否一致)
这篇文章介绍了如何在Vue框架中将表单输入验证逻辑封装到一个JavaScript文件中,并通过正则表达式验证邮箱、身份证、手机号等信息,同时确保两次密码输入的一致性。
|
7月前
|
移动开发 JavaScript 安全
js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
341 0
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的狱内罪犯危险性评估系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的狱内罪犯危险性评估系统附带文章源码部署视频讲解等
29 0
|
6月前
|
算法 JavaScript 安全
一篇文章讲明白JavaScript_提交表单和MD5算法密码加密
一篇文章讲明白JavaScript_提交表单和MD5算法密码加密
60 0