检查密码强度的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>


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 84 | 查看次数: 750
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭