检验密码强度的JS类

本文源于维生素C.net的一篇文章利用数学方法来大大降低一个逻辑判断实现的难度的例子

     < 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 >

 

http://thinhunan.cnblogs.com/archive/2006/05/14/399656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值