You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4 lines
14 KiB
4 lines
14 KiB
/* pwstrength-bootstrap 2018-02-25 - GPLv3 & MIT License */
|
|
|
|
!function(r){var e={};!function(r,e){"use strict";r.fallback={wordMinLength:"Your password is too short",wordMaxLength:"Your password is too long",wordInvalidChar:"Your password contains an invalid character",wordNotEmail:"Do not use your email as your password",wordSimilarToUsername:"Your password cannot contain your username",wordTwoCharacterClasses:"Use different character classes",wordRepetitions:"Too many repetitions",wordSequences:"Your password contains sequences",errorList:"Errors:",veryWeak:"Very Weak",weak:"Weak",normal:"Normal",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},r.t=function(o){var s="";return(s=e?e.t(o):r.fallback[o])===o?"":s}}(e,window.i18next);var o={};try{if(!r&&module&&module.exports){var r=require("jquery"),s=require("jsdom").jsdom;r=r(s().defaultView)}}catch(r){}!function(r,e){"use strict";var o={};e.forbiddenSequences=["0123456789","abcdefghijklmnopqrstuvwxyz","qwertyuiop","asdfghjkl","zxcvbnm","!@#$%^&*()_+"],o.wordNotEmail=function(r,e,o){return e.match(/^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$/i)?o:0},o.wordMinLength=function(r,e,o){var s=e.length,t=Math.pow(s,r.rules.raisePower);return s<r.common.minChar&&(t+=o),t},o.wordMaxLength=function(r,e,o){var s=e.length,t=Math.pow(s,r.rules.raisePower);return s>r.common.maxChar?o:t},o.wordInvalidChar=function(r,e,o){return r.common.invalidCharsRegExp.test(e)?o:0},o.wordMinLengthStaticScore=function(r,e,o){return e.length<r.common.minChar?0:o},o.wordMaxLengthStaticScore=function(r,e,o){return e.length>r.common.maxChar?0:o},o.wordSimilarToUsername=function(e,o,s){var t=r(e.common.usernameField).val();return t&&o.toLowerCase().match(t.replace(/[\-\[\]\/\{\}\(\)\*\+\=\?\:\.\\\^\$\|\!\,]/g,"\\$&").toLowerCase())?s:0},o.wordTwoCharacterClasses=function(r,e,o){return e.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)||e.match(/([a-zA-Z])/)&&e.match(/([0-9])/)||e.match(/(.[!,@,#,$,%,\^,&,*,?,_,~])/)&&e.match(/[a-zA-Z0-9_]/)?o:0},o.wordRepetitions=function(r,e,o){return e.match(/(.)\1\1/)?o:0},o.wordSequences=function(o,s,t){var n,a=!1;return s.length>2&&(r.each(e.forbiddenSequences,function(e,o){if(!a){var t=[o,o.split("").reverse().join("")];r.each(t,function(r,e){for(n=0;n<s.length-2;n+=1)e.indexOf(s.toLowerCase().substring(n,n+3))>-1&&(a=!0)})}}),a)?t:0},o.wordLowercase=function(r,e,o){return e.match(/[a-z]/)&&o},o.wordUppercase=function(r,e,o){return e.match(/[A-Z]/)&&o},o.wordOneNumber=function(r,e,o){return e.match(/\d+/)&&o},o.wordThreeNumbers=function(r,e,o){return e.match(/(.*[0-9].*[0-9].*[0-9])/)&&o},o.wordOneSpecialChar=function(r,e,o){return e.match(/[!,@,#,$,%,\^,&,*,?,_,~]/)&&o},o.wordTwoSpecialChar=function(r,e,o){return e.match(/(.*[!,@,#,$,%,\^,&,*,?,_,~].*[!,@,#,$,%,\^,&,*,?,_,~])/)&&o},o.wordUpperLowerCombo=function(r,e,o){return e.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)&&o},o.wordLetterNumberCombo=function(r,e,o){return e.match(/([a-zA-Z])/)&&e.match(/([0-9])/)&&o},o.wordLetterNumberCharCombo=function(r,e,o){return e.match(/([a-zA-Z0-9].*[!,@,#,$,%,\^,&,*,?,_,~])|([!,@,#,$,%,\^,&,*,?,_,~].*[a-zA-Z0-9])/)&&o},o.wordIsACommonPassword=function(e,o,s){return r.inArray(o,e.rules.commonPasswords)>=0?s:0},e.validation=o,e.executeRules=function(o,s){var t=0;return r.each(o.rules.activated,function(n,a){if(a){var i,c,u=o.rules.scores[n],d=e.validation[n];r.isFunction(d)||(d=o.rules.extra[n]),r.isFunction(d)&&((i=d(o,s,u))&&(t+=i),(i<0||!r.isNumeric(i)&&!i)&&(c=o.ui.spanError(o,n)).length>0&&o.instances.errors.push(c))}}),t}}(r,o);try{module&&module.exports&&(module.exports=o)}catch(r){}var t={};t.common={},t.common.minChar=6,t.common.maxChar=20,t.common.usernameField="#username",t.common.invalidCharsRegExp=new RegExp(/[\s,'"]/),t.common.userInputs=[],t.common.onLoad=void 0,t.common.onKeyUp=void 0,t.common.onScore=void 0,t.common.zxcvbn=!1,t.common.zxcvbnTerms=[],t.common.events=["keyup","change","paste"],t.common.debug=!1,t.rules={},t.rules.extra={},t.rules.scores={wordNotEmail:-100,wordMinLength:-50,wordMaxLength:-50,wordInvalidChar:-100,wordSimilarToUsername:-100,wordSequences:-20,wordTwoCharacterClasses:2,wordRepetitions:-25,wordLowercase:1,wordUppercase:3,wordOneNumber:3,wordThreeNumbers:5,wordOneSpecialChar:3,wordTwoSpecialChar:5,wordUpperLowerCombo:2,wordLetterNumberCombo:2,wordLetterNumberCharCombo:2,wordIsACommonPassword:-100},t.rules.activated={wordNotEmail:!0,wordMinLength:!0,wordMaxLength:!1,wordInvalidChar:!1,wordSimilarToUsername:!0,wordSequences:!0,wordTwoCharacterClasses:!0,wordRepetitions:!0,wordLowercase:!0,wordUppercase:!0,wordOneNumber:!0,wordThreeNumbers:!0,wordOneSpecialChar:!0,wordTwoSpecialChar:!0,wordUpperLowerCombo:!0,wordLetterNumberCombo:!0,wordLetterNumberCharCombo:!0,wordIsACommonPassword:!0},t.rules.raisePower=1.4,t.rules.commonPasswords=["123456","password","12345678","qwerty","123456789","12345","1234","111111","1234567","dragon","123123","baseball","abc123","football","monkey","letmein","696969","shadow","master","666666","qwertyuiop","123321","mustang","1234567890","michael","654321","pussy","superman","1qaz2wsx","7777777","fuckyou","121212","000000","qazwsx","123qwe","killer","trustno1","jordan","jennifer","zxcvbnm","asdfgh","hunter","buster","soccer","harley","batman","andrew","tigger","sunshine","iloveyou","fuckme","2000","charlie","robert","thomas","hockey","ranger","daniel","starwars","klaster","112233","george","asshole","computer","michelle","jessica","pepper","1111","zxcvbn","555555","11111111","131313","freedom","777777","pass","fuck","maggie","159753","aaaaaa","ginger","princess","joshua","cheese","amanda","summer","love","ashley","6969","nicole","chelsea","biteme","matthew","access","yankees","987654321","dallas","austin","thunder","taylor","matrix"],t.ui={},t.ui.bootstrap2=!1,t.ui.bootstrap4=!1,t.ui.colorClasses=["danger","danger","danger","warning","warning","success"],t.ui.showProgressBar=!0,t.ui.progressBarEmptyPercentage=1,t.ui.progressBarMinPercentage=1,t.ui.progressExtraCssClasses="",t.ui.progressBarExtraCssClasses="",t.ui.showPopover=!1,t.ui.popoverPlacement="bottom",t.ui.showStatus=!1,t.ui.spanError=function(r,e){"use strict";var o=r.i18n.t(e);return o?'<span style="color: #d52929">'+o+"</span>":""},t.ui.popoverError=function(e){"use strict";var o=e.instances.errors,s="<div>"+e.i18n.t("errorList")+"<ul class='error-list' style='margin-bottom: 0;'>";return r.each(o,function(r,e){s+="<li>"+e+"</li>"}),s+="</ul></div>"},t.ui.showVerdicts=!0,t.ui.showVerdictsInsideProgressBar=!1,t.ui.useVerdictCssClass=!1,t.ui.showErrors=!1,t.ui.showScore=!1,t.ui.container=void 0,t.ui.viewports={progress:void 0,verdict:void 0,errors:void 0,score:void 0},t.ui.scores=[0,14,26,38,50],t.i18n={},t.i18n.t=e.t;var n={};!function(r,e){"use strict";var o=["error","warning","success"],s=["veryWeak","weak","normal","medium","strong","veryStrong"];e.getContainer=function(e,o){var s;return(s=r(e.ui.container))&&1===s.length||(s=o.parent()),s},e.findElement=function(r,e,o){return e?r.find(e).find(o):r.find(o)},e.getUIElements=function(r,o){var s,t;return r.instances.viewports?r.instances.viewports:(s=e.getContainer(r,o),t={},t.$progressbar=e.findElement(s,r.ui.viewports.progress,"div.progress"),r.ui.showVerdictsInsideProgressBar&&(t.$verdict=t.$progressbar.find("span.password-verdict")),r.ui.showPopover||(r.ui.showVerdictsInsideProgressBar||(t.$verdict=e.findElement(s,r.ui.viewports.verdict,"span.password-verdict")),t.$errors=e.findElement(s,r.ui.viewports.errors,"ul.error-list")),t.$score=e.findElement(s,r.ui.viewports.score,"span.password-score"),r.instances.viewports=t,t)},e.initProgressBar=function(o,s){var t=e.getContainer(o,s),n="<div class='progress ";o.ui.bootstrap2?n+=o.ui.progressBarExtraCssClasses+"'><div class='":n+=o.ui.progressExtraCssClasses+"'><div class='"+o.ui.progressBarExtraCssClasses+" progress-",n+="bar'>",o.ui.showVerdictsInsideProgressBar&&(n+="<span class='password-verdict'></span>"),n+="</div></div>",o.ui.viewports.progress?t.find(o.ui.viewports.progress).append(n):r(n).insertAfter(s)},e.initHelper=function(o,s,t,n){var a=e.getContainer(o,s);n?a.find(n).append(t):r(t).insertAfter(s)},e.initVerdict=function(r,o){e.initHelper(r,o,"<span class='password-verdict'></span>",r.ui.viewports.verdict)},e.initErrorList=function(r,o){e.initHelper(r,o,"<ul class='error-list'></ul>",r.ui.viewports.errors)},e.initScore=function(r,o){e.initHelper(r,o,"<span class='password-score'></span>",r.ui.viewports.score)},e.initPopover=function(r,e){e.popover("destroy"),e.popover({html:!0,placement:r.ui.popoverPlacement,trigger:"manual",content:" "})},e.initUI=function(r,o){r.ui.showPopover?e.initPopover(r,o):(r.ui.showErrors&&e.initErrorList(r,o),r.ui.showVerdicts&&!r.ui.showVerdictsInsideProgressBar&&e.initVerdict(r,o)),r.ui.showProgressBar&&e.initProgressBar(r,o),r.ui.showScore&&e.initScore(r,o)},e.updateProgressBar=function(o,s,t,n){var a=e.getUIElements(o,s).$progressbar,i=a.find(".progress-bar"),c="progress-";o.ui.bootstrap2&&(i=a.find(".bar"),c=""),r.each(o.ui.colorClasses,function(r,e){o.ui.bootstrap4?i.removeClass("bg-"+e):i.removeClass(c+"bar-"+e)}),o.ui.bootstrap4?i.addClass("bg-"+o.ui.colorClasses[t]):i.addClass(c+"bar-"+o.ui.colorClasses[t]),i.css("width",n+"%")},e.updateVerdict=function(r,o,s,t){var n=e.getUIElements(r,o).$verdict;n.removeClass(r.ui.colorClasses.join(" ")),s>-1&&n.addClass(r.ui.colorClasses[s]),r.ui.showVerdictsInsideProgressBar&&n.css("white-space","nowrap"),n.html(t)},e.updateErrors=function(o,s,t){var n=e.getUIElements(o,s).$errors,a="";t||r.each(o.instances.errors,function(r,e){a+="<li>"+e+"</li>"}),n.html(a)},e.updateScore=function(r,o,s,t){var n=e.getUIElements(r,o).$score,a="";t||(a=s.toFixed(2)),n.html(a)},e.updatePopover=function(r,e,o,s){var t=e.data("bs.popover"),n="",a=!0;r.ui.showVerdicts&&!r.ui.showVerdictsInsideProgressBar&&o.length>0&&(n="<h5><span class='password-verdict'>"+o+"</span></h5>",a=!1),r.ui.showErrors&&(r.instances.errors.length>0&&(a=!1),n+=r.ui.popoverError(r)),a||s?e.popover("hide"):(r.ui.bootstrap2&&(t=e.data("popover")),t.$arrow&&t.$arrow.parents("body").length>0?e.find("+ .popover .popover-content").html(n):(t.options.content=n,e.popover("show")))},e.updateFieldStatus=function(e,s,t,n){var a=e.ui.bootstrap2?".control-group":".form-group",i=s.parents(a).first();r.each(o,function(r,o){e.ui.bootstrap2||(o="has-"+o),i.removeClass(o)}),n||(t=o[Math.floor(t/2)],e.ui.bootstrap2||(t="has-"+t),i.addClass(t))},e.percentage=function(r,e,o){var s=Math.floor(100*e/o),t=r.ui.progressBarMinPercentage;return s=s<=t?t:s,s=s>100?100:s},e.getVerdictAndCssClass=function(r,e){var o,t;return void 0===e?["",0]:(o=e<=r.ui.scores[0]?0:e<r.ui.scores[1]?1:e<r.ui.scores[2]?2:e<r.ui.scores[3]?3:e<r.ui.scores[4]?4:5,t=s[o],[r.i18n.t(t),o])},e.updateUI=function(r,o,s){var t,n,a,i;t=e.getVerdictAndCssClass(r,s),a=0===s?"":t[0],t=t[1],i=r.ui.useVerdictCssClass?t:-1,r.ui.showProgressBar&&(n=void 0===s?r.ui.progressBarEmptyPercentage:e.percentage(r,s,r.ui.scores[4]),e.updateProgressBar(r,o,t,n),r.ui.showVerdictsInsideProgressBar&&e.updateVerdict(r,o,i,a)),r.ui.showStatus&&e.updateFieldStatus(r,o,t,void 0===s),r.ui.showPopover?e.updatePopover(r,o,a,void 0===s):(r.ui.showVerdicts&&!r.ui.showVerdictsInsideProgressBar&&e.updateVerdict(r,o,i,a),r.ui.showErrors&&e.updateErrors(r,o,void 0===s)),r.ui.showScore&&e.updateScore(r,o,s,void 0===s)}}(r,n),function(r,e){"use strict";var s,a,i;s=function(e){var s,t,a,i,c=r(e.target),u=c.data("pwstrength-bootstrap"),d=c.val();void 0!==u&&(u.instances.errors=[],0===d.length?i=void 0:(u.common.zxcvbn?(s=[],r.each(u.common.userInputs.concat([u.common.usernameField]),function(e,o){var t=r(o).val();t&&s.push(t)}),s=s.concat(u.common.zxcvbnTerms),i=zxcvbn(d,s).guesses,i=Math.log(i)*Math.LOG2E):i=o.executeRules(u,d),r.isFunction(u.common.onScore)&&(i=u.common.onScore(u,d,i))),n.updateUI(u,c,i),a=(t=n.getVerdictAndCssClass(u,i))[1],t=t[0],u.common.debug&&console.log(i+" - "+t),r.isFunction(u.common.onKeyUp)&&u.common.onKeyUp(e,{score:i,verdictText:t,verdictLevel:a}))},a=function(e){var o,t=r(e.target),n=t.val(),a=0;o=function(){t.val()!==n?s(e):a<3&&(a+=1,setTimeout(o,100))},setTimeout(o,100)},e.init=function(e){return this.each(function(o,i){var c=r.extend(!0,{},t),u=r.extend(!0,c,e),d=r(i);u.instances={},d.data("pwstrength-bootstrap",u),r.each(u.common.events,function(r,e){var o="paste"===e?a:s;d.on(e,o)}),n.initUI(u,d),d.trigger("keyup"),r.isFunction(u.common.onLoad)&&u.common.onLoad()}),this},e.destroy=function(){this.each(function(e,o){var s=r(o),t=s.data("pwstrength-bootstrap"),a=n.getUIElements(t,s);a.$progressbar.remove(),a.$verdict.remove(),a.$errors.remove(),s.removeData("pwstrength-bootstrap")})},e.forceUpdate=function(){this.each(function(r,e){s({target:e})})},e.addRule=function(e,o,s,t){this.each(function(n,a){var i=r(a).data("pwstrength-bootstrap");i.rules.activated[e]=t,i.rules.scores[e]=s,i.rules.extra[e]=o})},i=function(e,o,s){this.each(function(t,n){r(n).data("pwstrength-bootstrap").rules[o][e]=s})},e.changeScore=function(r,e){i.call(this,r,"scores",e)},e.ruleActive=function(r,e){i.call(this,r,"activated",e)},e.ruleIsMet=function(e){if(r.isFunction(o.validation[e])){"wordMinLength"===e?e="wordMinLengthStaticScore":"wordMaxLength"===e&&(e="wordMaxLengthStaticScore");var s=0;return this.each(function(t,n){var a=r(n).data("pwstrength-bootstrap");s+=o.validation[e](a,r(n).val(),1)}),s===this.length}r.error("Rule "+e+" does not exist on jQuery.pwstrength-bootstrap.validation")},r.fn.pwstrength=function(o){var s;return e[o]?s=e[o].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof o&&o?r.error("Method "+o+" does not exist on jQuery.pwstrength-bootstrap"):s=e.init.apply(this,arguments),s}}(r,{})}(jQuery);
|
|
//# sourceMappingURL=pwstrength-bootstrap.min.map
|