Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->网站设计 ->JavaScript ->正文

来自Google的密码强度Javascript验证代码

来源:Linuxdby.com 作者:Webmaster 时间:2007-06-05 点击: [收藏] [投稿]
  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";

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:一组常用的弹出窗口用法总结   下一篇:象调试C#程序一样调试JavaScript

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号