转(js密码强度)

< script type = " text/javascript " >
        
var  PasswordStrength  = {
            Level : [
" 极佳 " , " 一般 " , " 较弱 " , " 太短 " ], // 强度提示信息
            LevelValue : [ 15 , 10 , 5 , 0 ], // 和上面提示信息对应的强度值
            Factor : [ 1 , 2 , 5 ], // 强度加权数,分别为字母,数字,其它
            KindFactor : [ 0 , 0 , 10 , 20 ], // 密码含几种组成的权数
            Regex : [ / [a - zA - Z] / g, / \d / g, / [ ^ a - zA - Z0 - 9 ] / g]  // 字符,数字,非字符数字(即特殊符号)
            }
        PasswordStrength.StrengthValue 
=   function (pwd)
        {
            
var  strengthValue  =   0 ;
            
var  ComposedKind  =   0 ;
            
for ( var  i  =   0  ; i  <   this .Regex.length;i ++ )
            {
                
var  chars  =  pwd.match( this .Regex[i]); // 匹配当前密码中符合指定正则的字符,如果有多个字符以','分隔
                 if (chars  !=   null )
                {
                    strengthValue 
+=  chars.length  *   this .Factor[i];
                    ComposedKind 
++ ;
                }
            }
            strengthValue 
+=   this .KindFactor[ComposedKind];
            
return  strengthValue;
        } 
        PasswordStrength.StrengthLevel 
=   function (pwd)
        {
            
var  value  =   this .StrengthValue(pwd);
            
for ( var  i  =   0  ; i  <   this .LevelValue.length ; i  ++ )
            {
                
if (value  >=   this .LevelValue[i] )
                    
return   this .Level[i];
            }
        }
    
function  loadinputcontext(o)
    {
        
var  showmsg = PasswordStrength.StrengthLevel(o.value);
        
switch (showmsg)
        {
        
case   " 太短 " : showmsg += "  <img src='images/level/1.gif' width='88' height='11'
/>
" ;
        break
;
        
case   " 较弱 " : showmsg += "  <img src='images/level/2.gif' width='88' height='11'
/>
" ;
        break ;
        
case   " 一般 " : showmsg += "  <img src='images/level/3.gif' width='88' height='11'
/>
" ;
        break
;
        
case   " 极佳 " : showmsg += "  <img src='images/level/4.gif' width='88' height='11'
/>
" ;
        break
;
         }
         document.getElementById('showmsg').innerHTML 
=  showmsg;
    }
</ script >

 

< input  name ="password"  type ="password"  id ="password"  size ="20"  onkeyup ="return loadinputcontext(this);"   />
< span  id ="showmsg" ></ span >

转载于:https://www.cnblogs.com/suneryong/archive/2008/09/28/1301486.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值