源码示例:

1.javascript代码

  1. <script type="text/javascript">
  2. //CharMode函数
  3. //测试某个字符是属于哪一类.
  4. function CharMode(iN) {
  5. if (iN >= 48 && iN <= 57) //数字
  6. return 1;
  7. if (iN >= 65 && iN <= 90) //大写字母
  8. return 2;
  9. if (iN >= 97 && iN <= 122) //小写
  10. return 4;
  11. else
  12. return 8; //特殊字符
  13. }
  14. //bitTotal函数
  15. //计算出当前密码当中一共有多少种模式
  16. function bitTotal(num) {
  17. modes = 0;
  18. for (i = 0; i < 4; i++) {
  19. if (num & 1) modes++;
  20. num >>>= 1;
  21. }
  22. return modes;
  23. }
  24. //checkStrong函数
  25. //返回密码的强度级别
  26.  
  27. function checkStrong(sPW) {
  28. if (sPW.length <= 4)
  29. return 0; //密码太短
  30. Modes = 0;
  31. for (i = 0; i < sPW.length; i++) {
  32. //测试每一个字符的类别并统计一共有多少种模式.
  33. Modes |= CharMode(sPW.charCodeAt(i));
  34. }
  35. return bitTotal(Modes);
  36. }
  37.  
  38. //pwStrength函数
  39. //当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色
  40. function pwStrength(pwd) {
  41. O_color = "#e0f0ff";
  42. L_color = "#FF0000";
  43. M_color = "#FF9900";
  44. H_color = "#33CC00";
  45. if (pwd == null || pwd == '') {
  46. Lcolor = Mcolor = Hcolor = O_color;
  47. }
  48. else {
  49. S_level = checkStrong(pwd);
  50. switch (S_level) {
  51. case 0:
  52. Lcolor = Mcolor = Hcolor = O_color;
  53. case 1:
  54. Lcolor = L_color;
  55. Mcolor = Hcolor = O_color;
  56. break;
  57. case 2:
  58. Lcolor = Mcolor = M_color;
  59. Hcolor = O_color;
  60. break;
  61. default:
  62. Lcolor = Mcolor = Hcolor = H_color;
  63. }
  64. }
  65.  
  66. document.getElementById("strength_L").style.background = Lcolor;
  67. document.getElementById("strength_M").style.background = Mcolor;
  68. document.getElementById("strength_H").style.background = Hcolor;
  69. return;
  70. }
  71. </script>

  2.页面代码

  1. <table>
  2. <tr>
  3. <td align="center" colspan="">注册新帐户</td>
  4. <td></td>
  5. </tr>
  6. <tr>
  7. <td align="right">
  8. <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">用户名:</asp:Label>
  9. </td>
  10. <td>
  11. <asp:TextBox ID="UserName" runat="server" CausesValidation="True" ValidationGroup="group1"></asp:TextBox>
  12. </td>
  13. <td>
  14. <asp:Button ID="btnCheck" runat="server" OnClick="btnCheck_Click" Text="检查该用户名是否有效" ValidationGroup="group1" />
  15. </td>
  16. <td>
  17. <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="用户名不能为空" ValidationGroup="group1"></asp:RequiredFieldValidator>
  18. </td>
  19. </tr>
  20. <tr>
  21. <td align="right">
  22. 昵称
  23. </td>
  24. <td align="left">
  25. <asp:TextBox ID="txtNickName" runat="server"></asp:TextBox>
  26. </td>
  27. <td colspan=""></td>
  28. </tr>
  29. <tr>
  30. <td align="right">
  31. <asp:Label ID="lblPassword" runat="server" AssociatedControlID="Password">密码:</asp:Label>
  32. </td>
  33. <td>
  34. <asp:TextBox ID="Password" runat="server" TextMode="Password" onKeyUp="pwStrength(this.value)" onBlur="pwStrength(this.value)" CausesValidation="True"></asp:TextBox>
  35. </td>
  36. <td>
  37. <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="必须填写“密码”。"></asp:RequiredFieldValidator>
  38. </td>
  39. <td></td>
  40. </tr>
  41. <tr>
  42. <td id="strength_L" align="right" >
  43. </td>
  44. <td id="strength_M" align="center">
  45. </td>
  46. <td id="strength_H" align="left">
  47. </td>
  48. <td></td>
  49. </tr>
  50. <tr>
  51. <td align="right">
  52. <asp:Label ID="lblConfirmPassword" runat="server" AssociatedControlID="ConfirmPassword">确认密码:</asp:Label>
  53. </td>
  54. <td>
  55. <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password" CausesValidation="True"></asp:TextBox>
  56. </td>
  57. <td>
  58. <asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" ControlToValidate="ConfirmPassword" ErrorMessage="必须填写“确认密码”" ></asp:RequiredFieldValidator>
  59. </td>
  60. <td>
  61. <asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password" ControlToValidate="ConfirmPassword" Display="Dynamic" ErrorMessage="“密码”和“确认密码”必须匹配。" ></asp:CompareValidator>
  62. </td>
  63. </tr>
  64. <tr>
  65. <td align="right">
  66. <asp:Label ID="lblMail" runat="server" AssociatedControlID="Email">电子邮箱:</asp:Label>
  67. </td>
  68. <td>
  69. <asp:TextBox ID="Email" runat="server" CausesValidation="True"></asp:TextBox>
  70. </td>
  71. <td>
  72. <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email" ErrorMessage="必须填写“电子邮箱”。"></asp:RequiredFieldValidator>
  73. </td>
  74. <td>
  75. <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Email" ErrorMessage="电子邮箱格式不正确" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
  76. </td>
  77. </tr>
  78. <tr>
  79. <td colspan="" align="center">
  80. <asp:Button ID="btnRegist" runat="server" Text="注册" OnClick="btnRegist_Click" />
  81. </td>
  82. <td colspan="" align="left">
  83. <input id="Reset1" type="reset" value="重置" />
  84. </td>
  85. </tr>
  86.  
  87. </table>

JavaScript即时判断输入密码的强度的更多相关文章

  1. 用Javascript评估用户输入密码的强度(Knockout版)

    原文:用Javascript评估用户输入密码的强度(Knockout版) 早上看到博友6点多发的一篇关于密码强度的文章(连接),甚是感动(周末大早上还来发文). 我们来看看如果使用Knockout更简 ...

  2. 用Javascript评估用户输入密码的强度

      <!-- 密码已经是我们生活工作中必不可少的工具,但一个不安全的密码有又有可能会给我们造成不必要的损失.作为网站设计者,如果我们在网页中能对用户输入的密码进行安全评估,并显示出相应的提示信息 ...

  3. Javascript 评估用户输入密码的强度

    什么是一个安全的密码呢? 1.如果密码少于5位,那么就认为这是一个弱密码. 2.如果密码只由数字.小写字母.大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码. 3.如果密码由数字.小写字母. ...

  4. 输入5至10之间的数字(用javaScript实现判断)

    输入5至10之间的数字 ----用javaScript实现判断 代码如下: <!DOCTYPE html><html><body> <script>fu ...

  5. Javascript中判断数组的正确姿势

    在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; con ...

  6. JavaScript中判断为整数的多种方式

    之前记录过JavaScript中判断为数字类型的多种方式,这篇看看如何判断为整数类型(Integer). JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示,和Java的d ...

  7. 关于 JavaScript 数据类型判断

    在 JavaScript 中,有 undefined.null.number.string.boolean 五种基本数据类型,另外,有一种复杂数据类型 object ,类似于 C# 中值类型.引用类型 ...

  8. 子句判断、启动强度和去模糊化--AForge.NET框架的使用(三)

    原文:子句判断.启动强度和去模糊化--AForge.NET框架的使用(三) 使用AForge.NET进行模糊运算 上一篇说来一些模糊运算的数学问题,用AForge.NET做相关运算就很简单了. 1.联 ...

  9. Java与JavaScript中判断两字符串是否相等的区别

    JavaScript是一种常用的脚本语言,这也决定了其相对于其他编程语言显得并不是很规范.在JavaScript中判断两字符串是否相等 直接用==,这与C++里的String类一样.而Java里的等号 ...

随机推荐

  1. Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

    看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...

  2. 【javascript】ajax的参数

    1. 常用参数 url type: contentType: dataType: data: success: error 2. 特殊参数 context: 这个对象用于设置Ajax相关回调函数的上下 ...

  3. ps-ef|grep-vgrep|grepsep|awk'{print"kill-9"$2}'|sh 这个表达式到底是什么意思啊?

    最佳答案   kill 掉sep这个程序ps -ef | 获取当前服务器所有进程grep -v grep 相当于grep自己吧自己过滤掉,就是不显示grepgrep seq 过滤出seqawk 截取 ...

  4. 处理Oracle数据中的无效对象

    今天还原了一份数据库(在服务器上没有无效对象),还原在本地之后有三十几个无效对象,当时很是郁闷,然后我发现还原之后的数据库中缺少表! 开始我怀疑Oracle数据库的还原功能,但是在我创建表的时候发现, ...

  5. Python初学基础

      初入坑Python,打算跟着沫凡小哥的学习视频打个基础,此篇文章做一些简单的学习记录,加油加油加油啦 沫凡小哥的学习网站:https://morvanzhou.github.io/tutorial ...

  6. 七月SSL行业新闻回顾

    大事件一:被泄露的私钥和基于假私钥进行的撤回 上个月,我们报告说Spotify和Cisco在应用程序中捆绑了有效证书的私钥.这些证书将根据基准要求被撤销,但应用程序不是泄露私钥的唯一来源.Koen R ...

  7. MySQL 6.0安装图解

    MySQL 6.0安装图解 由于免费,MySQL数据库在项目中用的越来越广泛,而且它的安全性能也特别高,不亚于oracle这样的大型数据库软件.可以简单的说,在一些中小型的项目中,使用MySQL ,P ...

  8. CSS3基础(2)—— 文字与字体相关样式、盒子类型、背景与边框相关样式、变形处理、动画功能

    一. CSS3 文字与字体相关样式 1. 给文字添加阴影 text-shadow: length length length ccolor; 属性适用于文本阴影,指定了水平阴影,垂直阴影,模糊的距离, ...

  9. master log 与relay log的关系

    --master log 与relay log的关系 -------------------------------2014/06/09 Just to clarify, there are thre ...

  10. linux桌面创建快捷方式

    1使用命令行创建桌面快捷方式 要为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到/usr/share/applications或者~/.local/ ...