码迷,mamicode.com
首页 > 其他好文 > 详细

简单的密码强度判断

时间:2015-06-16 12:40:23      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

一个简单的判断密码强度的小例子。

密码强度等级设定:

弱:纯字母或者纯数字组成

中:数字与字母混合组成

高:数字,字母,符号三者混合组成

这部分的js代码:

$(‘#pass‘).keyup(function(e) {
        // 最强的正则表达式:8位 大小写字母 数字 符号
         var strongRegex = new RegExp("^(?=.{8,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*\\W).*$", "g");
         //  中等强度 : 7位 大小写字母或者大写字母数字混合或者小写字母数字混合
         var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
         // 弱密码强度 : 6位 纯数字
         var enoughRegex = new RegExp("(?=.{6,}).*", "g");

         if (false == enoughRegex.test($(this).val())) {
                 $(‘#passstrength‘).html(‘密码长度至少6位‘);
         } else if (strongRegex.test($(this).val())) {
                 $(‘#passstrength‘).html(‘密码强度:强!‘);
                 strong();
         } else if (mediumRegex.test($(this).val())) {
                 $(‘#passstrength‘).html(‘密码强度:中等!‘);
                 medium();
         } else {
                 $(‘#passstrength‘).html(‘密码强度:弱!‘);
                 week();
         }
         return true;
    });

然后对密码的不同强度分别设置css样式,结果:

技术分享

 

下面附上全部html内容:

技术分享
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>password strangth validate</title>
    <script src="jquery-1.8.3.min.js"></script>
</head>
<style>
    .form{
        width: 500px;
        height: 200px;
        margin: 100px auto;
        border: 1px solid #ddd;
        border-bottom: 3px solid #ddd;
        border-right: 2px solid #ddd;
        border-radius: 10px;
        background-color: rgba(0,0,0,.1);
        text-align: center;
    }
    .form input{
        margin-top: 70px;
        height: 30px;
        width: 200px;
        border: none;
        border-radius: 5px;
        border:1px solid #ddd;
        text-indent: 10px;
        color: #666;
    }
    .form .grade3{
        width: 195px;
        height: 10px;
        margin: 5px auto;
        position: relative;
    }
    .form .grade3 .grade{
        width: 60px;
        height: 100%;
        border: 1px solid #fff;
        margin-right: 3px;
        float: left;
    }
    .form .grade3 .yellow{
        background-color: #E38D33;
    }
    .form .grade3 .green{
        background-color: #6DBD2E;
    }
    .form .grade3 .red{
        background-color: #EE5E59;
    }
    #passstrength{
        color: #666;
        position: absolute;
        top: 0px;
        left:0;
        font-size: 10px;
        line-height: 20px;
        font-family: ‘微软雅黑‘;
    }

</style>
<body>
<div class="form">
    <input type="password" name="pass" id="pass" />
    
    <div class="grade3">
        <div class="grade g1 "></div>
        <div class="grade g2 "></div>
        <div class="grade g3 "></div>

        <p id="passstrength"></p>
    </div>

    
</div>
    
</body>

<script type="text/javascript">
    $(#pass).keyup(function(e) {
        // 最强的正则表达式:8位 大小写字母 数字 符号
         var strongRegex = new RegExp("^(?=.{8,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*\\W).*$", "g");
         //  中等强度 : 7位 大小写字母或者大写字母数字混合或者小写字母数字混合
         var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
         // 弱密码强度 : 6位 纯数字
         var enoughRegex = new RegExp("(?=.{6,}).*", "g");

         if (false == enoughRegex.test($(this).val())) {
                 $(#passstrength).html(密码长度至少6位);
         } else if (strongRegex.test($(this).val())) {
                 $(#passstrength).html(密码强度:强!);
                 strong();
         } else if (mediumRegex.test($(this).val())) {
                 $(#passstrength).html(密码强度:中等!);
                 medium();
         } else {
                 $(#passstrength).html(密码强度:弱!);
                 week();
         }
         return true;
    });


    function week (argument) {
        $(.g1,.g2).removeClass(yellow);
        $(.g1,.g2,.g3).removeClass(green);
        $(.g1).addClass(red);
    }

    function medium (argument) {
        $(.g1).removeClass(red);
        $(.g1,.g2,.g3).removeClass(green);
        $(.g1,.g2).addClass(yellow);
    }

    function strong (argument) {
        $(.g1).removeClass(red);
        $(.g1,.g2).removeClass(yellow);
        $(.g1,.g2,.g3).addClass(green);
    }

</script>
</html>
View Code

注:jquery库自备。

 

简单的密码强度判断

标签:

原文地址:http://www.cnblogs.com/Imever/p/4580295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!