| |
| 来自Google的密码强度Javascript验证代码 |
| |
发布者: 发布时间:2007-02-13 |
|
|
1 <script type="text/javascript"> 2 var agt = navigator.userAgent.toLowerCase(); 3 var is_op = (agt.indexOf("opera") != -1); 4 var is_ie = (agt.indexOf("msie") != -1) && document.all && !is_op; 5 var is_ie5 = (agt.indexOf("msie 5") != -1) && document.all && !is_op; 6 7 function CreateXmlHttpReq(handler) { 8 var xmlhttp = null; 9 if (is_ie) { 10 var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP"; 11 try { 12 xmlhttp = new ActiveXObject(control); 13 xmlhttp.onreadystatechange = handler; 14 } catch (ex) { 15 alert("You need to enable active scripting and activeX controls"); 16 } 17 18 } else { 19 xmlhttp = new XMLHttpRequest(); 20 xmlhttp.onload = handler; 21 xmlhttp.onerror = handler; 22 } 23 return xmlhttp; 24 } 25 26 27 function XmlHttpPOST(xmlhttp, url, data) { 28 try { 29 xmlhttp.open("POST", url, true); 30 xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 31 xmlhttp.send(data); 32 33 } catch (ex) { 34 // do nothing 35 } 36 } 37 38 39 var myxmlhttp; 40 ratingMsgs = new Array(6); 41 ratingMsgColors = new Array(6); 42 barColors = new Array(6); 43 44 ratingMsgs[0] = "太短"; 45 ratingMsgs[1] = "弱"; 46 ratingMsgs[2] = "一般"; 47 ratingMsgs[3] = "很好"; 48 ratingMsgs[4] = "极佳"; 49 ratingMsgs[5] = "未评级"; 50 51 ratingMsgColors[0] = "#676767"; 52 ratingMsgColors[1] = "#aa0033"; 53 ratingMsgColors[2] = "#f5ac00"; 54 ratingMsgColors[3] = "#6699cc"; 55 ratingMsgColors[4] = "#008000"; 56 ratingMsgColors[5] = "#676767"; 57 58 barColors[0] = "#dddddd"; 59 barColors[1] = "#aa0033"; 60 barColors[2] = "#ffcc33"; 61 barColors[3] = "#6699cc"; 62 barColors[4] = "#008000"; 63 barColors[5] = "#676767"; 64 65 function CreateRatePasswdReq () 66 { 67 var passwd = getElement('Passwd').value; 68 var email = getElement('Email').value; 69 var lastname = getElement('LastName').value; 70 var firstname = getElement('FirstName').value; 71 var min_passwd_len = 6; 72 73 74 if (passwd.length < min_passwd_len) 75 { 76 if (passwd.length > 0) 77 { 78 DrawBar(0); 79 } 80 else 81 { 82 ResetBar(); 83 } 84 } 85 else 86 { 87 passwd = escape(passwd); 88 var params = 'Passwd='+passwd+'&Email='+email+'&FirstName='+firstname+'&LastName='+lastname; 89 myxmlhttp = CreateXmlHttpReq(RatePasswdXmlHttpHandler); 90 XmlHttpPOST(myxmlhttp, "https://www.google.com/accounts/RatePassword", params); 91 } 92 } 93 94 function getElement(name) 95 { 96 if (document.all) 97 { 98 return document.all(name); 99 } 100 return document.getElementById(name); 101 } 102 103 function RatePasswdXmlHttpHandler() 104 { // Can't check status since safari doesn't support it 105 if (myxmlhttp.readyState != 4) 106 { 107 return; 108 } 109 rating = parseInt(myxmlhttp.responseText); 110 DrawBar(rating); 111 } 112 113 function DrawBar(rating) 114 { 115 var posbar = getElement('posBar'); 116 var negbar = getElement('negBar'); 117 var passwdRating = getElement('passwdRating'); 118 var barLength = getElement('passwdBar').width; 119 120 if (rating >= 0 && rating <= 4) 121 { //We successfully got a rating 122 posbar.style.width = barLength / 4 * rating + "px"; 123 negbar.style.width = barLength / 4 * (4 - rating) + "px"; 124 } 125 else 126 { 127 posbar.style.width = "0px"; 128 negbar.style.width = barLength + "px"; 129 rating = 5; // Not rated Rating 130 } 131 posbar.style.background = barColors[rating] 132 passwdRating.innerHTML = "<font color='" + ratingMsgColors[rating] +"'>" + ratingMsgs[rating] + "</font>"; 133 } 134 135 136 //Resets the password strength bar back to its initial state without any message showing. 137 function ResetBar() 138 { 139 var posbar = getElement('posBar'); 140 var negbar = getElement('negBar'); 141 var passwdRating = getElement('passwdRating'); 142 var barLength = getElement('passwdBar').width; 143 144 posbar.style.width = "0px"; 145 negbar.style.width = barLength + "px"; 146 passwdRating.innerHTML = ""; 147 } 148 149 </script> 150 151 <table width="60%" border="0"> 152 <tr> 153 <td width="30%"> 154 <input type="hidden" value="" id="FirstName" size="30"> 155 <input type="hidden" value="" id="LastName" size="30"> 156 <input type="hidden" id="Email" value="" size="30"> 157 <input type="password" id="Passwd" value="" onkeyup="CreateRatePasswdReq()" size="30"> 158 </td> 159 <td width="70%"> 160 <table cellpadding="0" cellspacing="0" border="0"> 161 <tr> 162 <td width="200" id="passwdBar"> 163 <table cellpadding="0" cellspacing="0" border="0"> 164 <tr> 165 <td nowrap valign="top" height="15px"><font color="#808080" size="-1" face="Arial, sans-serif"><div id="passwdRating"></div></font></td> 166 </tr> 167 <tr> 168 <td height="3px"></td> 169 </tr> 170 <tr> 171 <td colspan="2"> 172 <table cellpadding="0" bgcolor="#ffffff" cellspacing="0" border="0" width="200"> 173 <tr> 174 <td width="0%" id="posBar" bgcolor="#e0e0e0" height="4px"></td> 175 <td width="100%" id="negBar" bgcolor="#e0e0e0" height="4px"></td> 176 </tr> 177 </table> 178 </td> 179 </tr> 180 </table> 181 </td> 182 </tr> 183 </table> 184 </td> 185 </tr> 186 </table> 187
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| 冒泡算法的三种JavaScript表示 |
| 一种JavaScript的设计模式 |
| javascript实现datagrid客户端checkbox列的全选,反选 |
| 如何用javascript判断录入的日期是否合法 |
| js用于树型结构级联选择 |
| 用JavaScript实现字符串切分功能 |
| |
| 最近评论: |
|
|
| 你曾悄悄的来过! |
| wow gold,wow gold,wow gold,ffxi gil max(3462) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(7523) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,WoW Gold,wow gold
max(1323) |
|
|
| 飞舞的传奇! |
| 传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(3673) |
|
|
| 回复:来自Google的密码强度Javascript验证代码 |
| 晕了,为何要加上前面的行号??? |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|