检验密码强度的JS类

< script type = " text/javascript " >
        
var  PasswordStrength  = {
            Level : [
" 高,实在是高 " , " 还行啦 " , " 靠,这样也行 " ],
            LevelValue : [
30 , 20 , 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];
            }
        }
       
        alert(PasswordStrength.StrengthLevel(
" 23 " )); 
        alert(PasswordStrength.StrengthLevel(
" abcd123 " ));     
        alert(PasswordStrength.StrengthLevel(
" abcd!%23 " ));  
    
</ script >

你可能感兴趣的:(密码强度)