1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml" >
6 <head runat="server">
7 <title>无标题页</title>
8 </head>
9 <mce:script language="javascript" type="text/javascript"><!--
10
11 //CharMode函数
12 //测试某个字符是属于哪一类.
13 function CharMode(iN){
14 if (iN>=48 && iN <=57) //数字
15 return 1;
16 if (iN>=65 && iN <=90) //大写字母
17 return 2;
18 if (iN>=97 && iN <=122) //小写
19 return 4;
20 else
21 return 8; //特殊字符
22 }
23 //bitTotal函数
24 //计算出当前密码当中一共有多少种模式
25 function bitTotal(num){
26 modes=0;
27 for (i=0;i<4;i++){
28 if (num & 1) modes++;
29 num>>>=1;
30 }
31 return modes;
32 }
33 //checkStrong函数
34 //返回密码的强度级别
35
36 function checkStrong(sPW){
37 if (sPW.length<=4)
38 return 0; //密码太短
39 Modes=0;
40 for (i=0;i<sPW.length;i++){
41 //测试每一个字符的类别并统计一共有多少种模式.
42 Modes|=CharMode(sPW.charCodeAt(i));
43 }
44 return bitTotal(Modes);
45 }
46
47 //pwStrength函数
48 //当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色
49 function pwStrength(pwd){
50 O_color="#e0f0ff";
51 L_color="#FF0000";
52 M_color="#FF9900";
53 H_color="#33CC00";
54 if (pwd==null||pwd==''){
55 Lcolor=Mcolor=Hcolor=O_color;
56 }
57 else
58 {
59 S_level=checkStrong(pwd);
60 switch(S_level)
61 {
62 case 0:
63 Lcolor=Mcolor=Hcolor=O_color;
64 case 1:
65 Lcolor=L_color;
66 Mcolor=Hcolor=O_color;
67 break;
68 case 2:
69 Lcolor=Mcolor=M_color;
70 Hcolor=O_color;
71 break;
72 default:
73 Lcolor=Mcolor=Hcolor=H_color;
74 }
75 }
76
77 document.getElementById("strength_L").style.background=Lcolor;
78 document.getElementById("strength_M").style.background=Mcolor;
79 document.getElementById("strength_H").style.background=Hcolor;
80 return;
81 }
82 // --></mce:script>
83 <body>
84 <form id="form1" runat="server">
85 <div>
86 输入密码:<asp:TextBox ID="TextBox1" runat="server" onKeyUp=pwStrength(this.value) onBlur=pwStrength(this.value) ></asp:TextBox><br />
87 密码强度:
88 <table border="1" cellpadding="1" borderColorDark="#fdfeff" borderColorLight="#99ccff" cellspacing="1" style=" 200px; display: inline; background-color:#e0f0ff">
89 <tr>
90 <td id="strength_L" style=" 100px; height: 19px;" align="center">
91 弱</td>
92 <td id="strength_M" style=" 100px; height: 19px;" align="center">
93 中</td>
94 <td id="strength_H" style=" 100px; height: 19px;" align="center">
95 强</td>
96 </tr>
97 </table>
98 </div>
99 </form>
100 </body>
101 </html>