您好,欢迎访问一九零五行业门户网

javascript 设置密码强弱

table tr td style=width: 201px; height: 22px; valign=middle align=right 登录密码:bfont color=red*/font/b /td td align=left style=height: 22px input name=txtregistpwd1 type=password id=txtregistpwd1 class=wenbenkuang on
登录密码:*
密码强弱:

                   中
                   强
// javascript document
// 测试某个字符是属于哪一类
function charmode(in)
{
   if (in >= 48 && in    return 1;
   if (in >= 65 && in    return 2;
   if (in >= 97 && in    return 4;
   else
   return 8;
   // 特殊字符
}
// bittotal函数
// 计算出当前密码当中一共有多少种模式
function bittotal(num)
{
   modes = 0;
   for (i = 0; i    {
      if (num & 1) modes ++ ;
      num >>>= 1;
   }
   return modes;
}
// checkstrong函数
// 返回密码的强度级别
function checkstrong(spw)
{
   if (spw.length    return 0;
   // 密码太短
   modes = 0;
   for (i = 0; i    {
      // 测试每一个字符的类别并统计一共有多少种模式
      modes |= charmode(spw.charcodeat(i));
   }
   return bittotal(modes);
}
// pwstrength函数
// 当用户放开键盘或密码输入框失去焦点时, 根据不同的级别显示不同的颜色
function pwstrength(pwd)
{
   o_color = #cccccc;
   l_color = #ff0000;
   m_color = #ff9900;
   h_color = #33cc00;
   if (pwd == null || pwd == '')
   {
      lcolor = mcolor = hcolor = o_color;
   }
   else
   {
      s_level = checkstrong(pwd);
      switch(s_level)
      {
         case 0 :
            lcolor = mcolor = hcolor = o_color;
         case 1 :
            lcolor = l_color;
            mcolor = hcolor = o_color;
            break;
         case 2 :
            lcolor = o_color;
            mcolor = m_color;
            hcolor = o_color;
            break;
         default :
            lcolor = o_color;
            mcolor = o_color;
            hcolor = h_color;
      }
   }
   document.getelementbyid(strength_l).style.background = lcolor;
   document.getelementbyid(strength_m).style.background = mcolor;
   document.getelementbyid(strength_h).style.background = hcolor;
   return;
}
其它类似信息

推荐信息