限时优惠活动
亲爱的苦力吧用户,我们为了回馈新老用户一直以来的鼎力支持,即日起(2025-02-06至2025-03-06)凡是购买苦力吧VIP/充值K币的新老用户,都直接可获得买一送一的优惠馈赠。例如:购买一个月的VIP会员可直接获得两个月的VIP会员;充值100K币可直接获得200K币,以此类推!有任何疑问可联系在线客服,感谢各位用户对苦力吧素材的信任与厚爱,我们将一如既往的给大家上新更多优质的素材源码,祝大家开工大吉、工作顺利、心想事成。

jquery表单密码输入安全强度检测插件

所属分类: 网页特效-表单验证    2023-11-03 03:30:26

jquery表单密码输入安全强度检测插件 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery表单密码输入安全强度检测插件(共3个文件)

    • jquery.password-indicator.css
    • jquery.password-indicator.js
    • index.html

使用方法

  • code
  • source
  1. $(function() {
  2. "use strict";
  3. function PasswordIndicator() {
  4. function passwordContainsLowercaseLetter(value) {
  5. return (/[a-z]/).test(value);
  6. }
  7. function passwordContainsUppercaseLetter(value) {
  8. return (/[A-Z]/).test(value);
  9. }
  10. function passwordContainsSpaces(value) {
  11. return (/ /).test(value);
  12. }
  13. function passwordContainsNumber(value) {
  14. return (/[0-9]/).test(value);
  15. }
  16. function passwordContainsSymbol(value) {
  17. var containsSymbol = false,
  18. symbols = "-!ยง$%&/()=?.:,~;'#+-/*\\|{}[]_<>\"".split("");
  19. $.each(symbols, function(index, symbol) {
  20. if (value.indexOf(symbol) > -1) {
  21. containsSymbol = true;
  22. // We found a symbol. Therefore, return false to exit $.each early (short-circuit).
  23. return false;
  24. }
  25. });
  26. return containsSymbol;
  27. }
  28. function countSpaces(value) {
  29. return value.split(/ +/).length - 1;
  30. }
  31. return {
  32. calculate: function(value, points) {
  33. var score = value.length * points.forEachCharacter;
  34. if (passwordContainsSpaces(value)) { score += countSpaces(value) * points.forEachSpace; }
  35. if (passwordContainsLowercaseLetter(value)) { score += points.containsLowercaseLetter; }
  36. if (passwordContainsUppercaseLetter(value)) { score += points.containsUppercaseLetter; }
  37. if (passwordContainsNumber(value)) { score += points.containsNumber; }
  38. if (passwordContainsSymbol(value)) { score += points.containsSymbol; }
  39. return score;
  40. }
  41. };
  42. }
  43. function Indicator(indicator, settings) {
  44. var $indicator = $(indicator).hide();
  45. function getStrengthClass(score) {
  46. var strengthIndex = parseInt(Math.round(score * (settings.strengthClassNames.length - 1) * 100 / settings.secureStrength) / 100, 10);
  47. if (strengthIndex >= settings.strengthClassNames.length) {
  48. strengthIndex = settings.strengthClassNames.length - 1;
  49. }
  50. return settings.strengthClassNames[strengthIndex];
  51. }
  52. return {
  53. refresh: function(score) {
  54. if (score > 0) {
  55. $indicator.css("display", settings.indicatorDisplayType);
  56. $indicator.css(settings.cssProperties);
  57. } else {
  58. $indicator.hide();
  59. }
  60. var strengthClass = getStrengthClass(score);
  61. $.each(settings.strengthClassNames, function(index, value) {
  62. $indicator.removeClass(value.name);
  63. });
  64. $indicator.addClass(strengthClass.name);
  65. if (settings.text) {
  66. $indicator.text(strengthClass.text);
  67. }
  68. }
  69. };
  70. }
  71. var calculator,
  72. defaults = {
  73. secureStrength: 25,
  74. $indicator: undefined,
  75. indicatorClassName: "password-strength-indicator",
  76. indicatorDisplayType: "inline-block",
  77. cssProperties: {"float": "right", "font-size": "13px"},
  78. text: true,
  79. points: {
  80. forEachCharacter: 1,
  81. forEachSpace: 1,
  82. containsLowercaseLetter: 2,
  83. containsUppercaseLetter: 2,
  84. containsNumber: 4,
  85. containsSymbol: 5
  86. },
  87. strengthClassNames: [{
  88. name: "very-weak",
  89. text: "Password strength : very weak"
  90. }, {
  91. name: "weak",
  92. text: "Password strength : weak"
  93. }, {
  94. name: "mediocre",
  95. text: "Password strength : mediocre"
  96. }, {
  97. name: "strong",
  98. text: "Password strength : strong"
  99. }, {
  100. name: "awesome",
  101. text: "Password strength : Awesome"
  102. }]
  103. },
  104. methods = {
  105. init: function(options) {
  106. var settings = $.extend({}, defaults, options),
  107. $input = $(this),
  108. $indicator = getIndicatorElement($input, settings),
  109. indicator = new Indicator($indicator, settings);
  110. setupAutomaticIndicatorRefresh(indicator, $input, settings);
  111. return $input;
  112. },
  113. calculate: function(value, options) {
  114. var settings = $.extend(defaults, options);
  115. if (!calculator) {
  116. calculator = new PasswordIndicator();
  117. }
  118. return calculator.calculate(value, settings.points);
  119. },
  120. defaults: function() {
  121. return defaults;
  122. }
  123. };
  124. function getIndicatorElement($input, settings) {
  125. var $indicator = settings.$indicator || $("<span>&nbsp;</span>").insertAfter($input);
  126. return $indicator.attr("class", settings.indicatorClassName);
  127. }
  128. function setupAutomaticIndicatorRefresh(indicator, $input, settings) {
  129. var refresh = function() {
  130. var password = $input.val(),
  131. score = methods.calculate(password, settings);
  132. indicator.refresh(score);
  133. };
  134. $input.on("keyup", refresh);
  135. }
  136. $.fn.PasswordIndicatorIndicator = $.fn.PasswordIndicator = function(method) {
  137. if (methods[method]) {
  138. return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
  139. }
  140. if (typeof method === "object" || !method) {
  141. return methods.init.apply(this, arguments);
  142. }
  143. $.error("Method " + method + " does not exist on jQuery.PasswordIndicator");
  144. };
  145. });
$(function() {
    "use strict";

    function PasswordIndicator() {

        function passwordContainsLowercaseLetter(value) {
            return (/[a-z]/).test(value);
        }

        function passwordContainsUppercaseLetter(value) {
            return (/[A-Z]/).test(value);
        }

        function passwordContainsSpaces(value) {
            return (/ /).test(value);
        }

        function passwordContainsNumber(value) {
            return (/[0-9]/).test(value);
        }

        function passwordContainsSymbol(value) {
            var containsSymbol = false,
                symbols = "-!ยง$%&/()=?.:,~;'#+-/*\\|{}[]_<>\"".split("");

            $.each(symbols, function(index, symbol) {
                if (value.indexOf(symbol) > -1) {
                    containsSymbol = true;

                    // We found a symbol. Therefore, return false to exit $.each early (short-circuit).
                    return false;
                }
            });

            return containsSymbol;
        }

        function countSpaces(value) {
            return value.split(/ +/).length - 1;
        }

        return {
            calculate: function(value, points) {
                var score = value.length * points.forEachCharacter;

                if (passwordContainsSpaces(value)) { score += countSpaces(value) * points.forEachSpace; }
                if (passwordContainsLowercaseLetter(value)) { score += points.containsLowercaseLetter; }
                if (passwordContainsUppercaseLetter(value)) { score += points.containsUppercaseLetter; }
                if (passwordContainsNumber(value)) { score += points.containsNumber; }
                if (passwordContainsSymbol(value)) { score += points.containsSymbol; }

                return score;
            }
        };
    }

    function Indicator(indicator, settings) {
        var $indicator = $(indicator).hide();

        function getStrengthClass(score) {
            var strengthIndex = parseInt(Math.round(score * (settings.strengthClassNames.length - 1) * 100 / settings.secureStrength) / 100, 10);
            if (strengthIndex >= settings.strengthClassNames.length) {
                strengthIndex = settings.strengthClassNames.length - 1;
            }

            return settings.strengthClassNames[strengthIndex];
        }

        return {
            refresh: function(score) {
                if (score > 0) {
                    $indicator.css("display", settings.indicatorDisplayType);
                    $indicator.css(settings.cssProperties);
                } else {
                    $indicator.hide();
                }

                var strengthClass = getStrengthClass(score);
                $.each(settings.strengthClassNames, function(index, value) {
                    $indicator.removeClass(value.name);
                });
                $indicator.addClass(strengthClass.name);

                if (settings.text) {
                    $indicator.text(strengthClass.text);
                }
            }
        };
    }

    var calculator,
        defaults = {
            secureStrength: 25,

            $indicator: undefined,
            indicatorClassName: "password-strength-indicator",
            indicatorDisplayType: "inline-block",
            cssProperties: {"float": "right", "font-size": "13px"},

            text: true,

            points: {
                forEachCharacter: 1,
                forEachSpace: 1,
                containsLowercaseLetter: 2,
                containsUppercaseLetter: 2,
                containsNumber: 4,
                containsSymbol: 5
            },

            strengthClassNames: [{
                name: "very-weak",
                text: "Password strength : very weak"
              }, {
                name: "weak",
                text: "Password strength : weak"
              }, {
                name: "mediocre",
                text: "Password strength : mediocre"
              }, {
                name: "strong",
                text: "Password strength : strong"
              }, {
                name: "awesome",
                text: "Password strength : Awesome"
              }]
        },

        methods = {
            init: function(options) {
                var settings = $.extend({}, defaults, options),
                    $input = $(this),
                    $indicator = getIndicatorElement($input, settings),
                    indicator = new Indicator($indicator, settings);

                setupAutomaticIndicatorRefresh(indicator, $input, settings);

                return $input;
            },

            calculate: function(value, options) {
                var settings = $.extend(defaults, options);

                if (!calculator) {
                    calculator = new PasswordIndicator();
                }

                return calculator.calculate(value, settings.points);
            },

            defaults: function() {
                return defaults;
            }
        };

    function getIndicatorElement($input, settings) {
        var $indicator = settings.$indicator || $("<span>&nbsp;</span>").insertAfter($input);

        return $indicator.attr("class", settings.indicatorClassName);
    }

    function setupAutomaticIndicatorRefresh(indicator, $input, settings) {
        var refresh = function() {
            var password = $input.val(),
                score = methods.calculate(password, settings);

            indicator.refresh(score);
        };

        $input.on("keyup", refresh);
    }

    $.fn.PasswordIndicatorIndicator = $.fn.PasswordIndicator = function(method) {
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        }

        if (typeof method === "object" || !method) {
            return methods.init.apply(this, arguments);
        }

        $.error("Method " +  method + " does not exist on jQuery.PasswordIndicator");
    };
});

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 表单验证

jquery集成多种类型的验证码插件

一款复合型验证码插件,包含了常规验证码、滑块验证码、拼图验证码、选字验证码,可大幅度降低机器人机制。
  表单验证
 4242  0

jquery信用卡验证定制插件Card

针对信用卡卡号、持卡人姓名、有效期等进行验证,点击CVC文本框有信用卡动画翻转!
  表单验证
 1408  0

jquery带文字提示和边框颜色提示的表单验证插件

一款多功能表单验证插件,可自定义错误信息和设置规则,错误文字提示及字段边框颜色提醒。
  表单验证
 4557  0

jquery文本框输入邮箱验证提示动画特效

一款input输入email验证提示动画效果,设置一个默认的邮箱地址,在文本框输入后提交验证。
  表单验证
 8174  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论