09
07Password Strength Finder Using jQuery Plugin
Hi friends today i am showing you how you can check your password strength. Password is one of the major authentication to prove identity or access approval for the user. In today’s workplace, almost everything we do requires some form of password-guarded access. Everyone know the password should be long, complicate and practically impossible to remember, but many of us still ignore those rules for the sake of convenience. Many people fall foul of poor password security at one point or another. So we are showing the password strength for the user how weak and strength is your password.
- 1. 123456
- 2. 12345678
- 3. abc123
- 4. monkey
- 5. lemon
- 6. baseball
- 7. football
- 8. iloveyou
- 9. master
- 10. sunshine
- 11. passw0rd
- 12. 123123
- 13. shadow
- 14. 111111
- 15. 654321
- 16. qazwsx
- 17. michael
- 18. america
- 19. Dragaon
- 20. ashley
- 21. bailey
- 22. trustme
- 1. Minimum 6 character
- 2. Include One Uppecase character
- 3. One special character
- 4. One aphaumeric character
- 5. One digit
- <div class="row">
- <div class="col-md-4 col-md-offset-4">
- <div class="panel panel-default">
- <div class="panel-body">
- <div class="text-center">
- <h3><i class="fa fa-lock fa-4x"></i></h3>
- <h2 class="text-center">Password Strength Finder</h2>
- <div class="panel-body">
- <form class="form">
- <fieldset>
- <div class="form-group">
- <label>Password</label>
- <div class="input-group">
- <div class="input-group-addon"><i class="fa fa-
- key"></i>
- </div>
- <input class="form-control placeholded" data-val="true" data-val-length="password must be between 6 and 100 characters long." data-val-length-="" max="100" data-val-length-min="6" data-val-required="password is required" id="Password" name="Password" placeholder="min 6 characters" rows="12" type="password">
- </div>
- </div>
- <div class="form-group">
- <label>Strength</label>
- <div id="pw-val-container">
- <div id="pw-val-progress"></div>
- <div id="pw-val-verdict"></div>
- <div id="pw-val-errors"></div>
- </div>
- </div>
- </fieldset>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
Depending upon the above rules we have created the password strength checker to check your password.
HTML Code:
Javascript Code:
- $(document).ready(function () {
- "use strict";
- var options = {};
- options.ui = {showErrors:false, showVerdictsInsideProgressBar:true,
- container:'#pw-val-container',viewports:{progress:'#pw-val-progress',verdict:'#pw-val-
- verdict',errors:'#pw-val-errors'}};
- $('#Password').pwstrength(options);
- });
Password Strength Jquery Plugin:
- ! function(n) {
- var r = {},
- n, u, t, i, f;
- try {
- !n && module && module.exports && (n = require("jquery"), u = require("jsdom").jsdom, n = n(u().parentWindow))
- } catch (e) {}! function(n, t) {
- "use strict";
- var i = {};
- t.forbiddenSequences = ["0123456789", "abcdefghijklmnopqrstuvwxyz", "qwertyuiop", "asdfghjkl", "zxcvbnm", "!@#$%^&*()_+"];
- i.wordNotEmail = function(n, t, i) {
- return t.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') ? i : 0
- };
- i.wordLength = function(n, t, i) {
- var r = t.length,
- u = Math.pow(r, n.rules.raisePower);
- return r < n.common.minChar && (u += i), u
- };
- i.wordSimilarToUsername = function(t, i, r) {
- var u = n(t.common.usernameField).val();
- return u && i.toLowerCase().match(u.toLowerCase()) ? r : 0
- };
- i.wordTwoCharacterClasses = function(n, t, i) {
- return t.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/) || t.match(/([a-zA-Z])/) && t.match(/([0-9])/) || t.match(/(.[!,@,#,$,%,\^,&,*,?,_,~])/) && t.match(/[a-zA-Z0-9_]/) ? i : 0
- };
- i.wordRepetitions = function(n, t, i) {
- return t.match(/(.)\1\1/) ? i : 0
- };
- i.wordSequences = function(i, r, u) {
- var f, e = !1;
- return r.length > 2 && (n.each(t.forbiddenSequences, function(t, i) {
- var u = [i, i.split("").reverse().join("")];
- n.each(u, function(n, t) {
- for (f = 0; f < r.length - 2; f += 1) t.indexOf(r.toLowerCase().substring(f, f + 3)) > -1 && (e = !0)
- })
- }), e) ? u : 0
- };
- i.wordLowercase = function(n, t, i) {
- return t.match(/[a-z]/) && i
- };
- i.wordUppercase = function(n, t, i) {
- return t.match(/[A-Z]/) && i
- };
- i.wordOneNumber = function(n, t, i) {
- return t.match(/\d+/) && i
- };
- i.wordThreeNumbers = function(n, t, i) {
- return t.match(/(.*[0-9].*[0-9].*[0-9])/) && i
- };
- i.wordOneSpecialChar = function(n, t, i) {
- return t.match(/.[!,@,#,$,%,\^,&,*,?,_,~]/) && i
- };
- i.wordTwoSpecialChar = function(n, t, i) {
- return t.match(/(.*[!,@,#,$,%,\^,&,*,?,_,~].*[!,@,#,$,%,\^,&,*,?,_,~])/) && i
- };
- i.wordUpperLowerCombo = function(n, t, i) {
- return t.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/) && i
- };
- i.wordLetterNumberCombo = function(n, t, i) {
- return t.match(/([a-zA-Z])/) && t.match(/([0-9])/) && i
- };
- i.wordLetterNumberCharCombo = function(n, t, i) {
- return t.match(/([a-zA-Z0-9].*[!,@,#,$,%,\^,&,*,?,_,~])|([!,@,#,$,%,\^,&,*,?,_,~].*[a-zA-Z0-9])/) && i
- };
- t.validation = i;
- t.executeRules = function(i, r) {
- var u = 0;
- return n.each(i.rules.activated, function(f, e) {
- if (e) {
- var o, h, c = i.rules.scores[f],
- s = t.validation[f];
- n.isFunction(s) || (s = i.rules.extra[f]);
- n.isFunction(s) && (o = s(i, r, c), o && (u += o), (0 > o || !n.isNumeric(o) && !o) && (h = i.ui.spanError(i, f), h.length > 0 && i.instances.errors.push(h)))
- }
- }), u
- }
- }(n, r);
- try {
- module && module.exports && (module.exports = r)
- } catch (e) {}
- t = {};
- t.common = {};
- t.common.minChar = 6;
- t.common.usernameField = "#username";
- t.common.userInputs = [];
- t.common.onLoad = void 0;
- t.common.onKeyUp = void 0;
- t.common.zxcvbn = !1;
- t.common.debug = !1;
- t.rules = {};
- t.rules.extra = {};
- t.rules.scores = {
- wordNotEmail: -100,
- wordLength: -50,
- wordSimilarToUsername: -100,
- wordSequences: -50,
- wordTwoCharacterClasses: 2,
- wordRepetitions: -25,
- wordLowercase: 1,
- wordUppercase: 3,
- wordOneNumber: 3,
- wordThreeNumbers: 5,
- wordOneSpecialChar: 3,
- wordTwoSpecialChar: 5,
- wordUpperLowerCombo: 2,
- wordLetterNumberCombo: 2,
- wordLetterNumberCharCombo: 2
- };
- t.rules.activated = {
- wordNotEmail: !0,
- wordLength: !0,
- wordSimilarToUsername: !0,
- wordSequences: !0,
- wordTwoCharacterClasses: !1,
- wordRepetitions: !1,
- wordLowercase: !0,
- wordUppercase: !0,
- wordOneNumber: !0,
- wordThreeNumbers: !0,
- wordOneSpecialChar: !0,
- wordTwoSpecialChar: !0,
- wordUpperLowerCombo: !0,
- wordLetterNumberCombo: !0,
- wordLetterNumberCharCombo: !0
- };
- t.rules.raisePower = 1.4;
- t.ui = {};
- t.ui.bootstrap2 = !1;
- t.ui.showProgressBar = !0;
- t.ui.showPopover = !1;
- t.ui.showStatus = !1;
- t.ui.spanError = function(n, t) {
- "use strict";
- var i = n.ui.errorMessages[t];
- return i ? '<span style="color: #d52929">' + i + "<\/span>" : ""
- };
- t.ui.errorMessages = {
- wordLength: "Your password is too short",
- 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"
- };
- t.ui.verdicts = ["Weak", "Normal", "Medium", "Strong", "Very Strong"];
- t.ui.showVerdicts = !0;
- t.ui.showVerdictsInsideProgressBar = !1;
- t.ui.showErrors = !1;
- t.ui.container = void 0;
- t.ui.viewports = {
- progress: void 0,
- verdict: void 0,
- errors: void 0
- };
- t.ui.scores = [14, 26, 38, 50];
- i = {};
- ! function(n, t) {
- "use strict";
- var r = ["danger", "warning", "success"],
- i = ["error", "warning", "success"];
- t.getContainer = function(t, i) {
- var r;
- return r = n(t.ui.container), r && 1 === r.length || (r = i.parent()), r
- };
- t.findElement = function(n, t, i) {
- return t ? n.find(t).find(i) : n.find(i)
- };
- t.getUIElements = function(n, i) {
- var u, r;
- return n.instances.viewports ? n.instances.viewports : (u = t.getContainer(n, i), r = {}, r.$progressbar = t.findElement(u, n.ui.viewports.progress, "div.progress"), n.ui.showVerdictsInsideProgressBar && (r.$verdict = r.$progressbar.find("span.password-verdict")), n.ui.showPopover || (n.ui.showVerdictsInsideProgressBar || (r.$verdict = t.findElement(u, n.ui.viewports.verdict, "span.password-verdict")), r.$errors = t.findElement(u, n.ui.viewports.errors, "ul.error-list")), n.instances.viewports = r, r)
- };
- t.initProgressBar = function(i, r) {
- var f = t.getContainer(i, r),
- u = "<div class="progress"><div class="";
- i.ui.bootstrap2 || (u += "progress-");
- u += "bar">";
- i.ui.showVerdictsInsideProgressBar && (u += "<span class="password-verdict"><\/span>");
- u += "<\/div><\/div>";
- i.ui.viewports.progress ? f.find(i.ui.viewports.progress).append(u) : n(u).insertAfter(r)
- };
- t.initHelper = function(i, r, u, f) {
- var e = t.getContainer(i, r);
- f ? e.find(f).append(u) : n(u).insertAfter(r)
- };
- t.initVerdict = function(n, i) {
- t.initHelper(n, i, "<span class="password-verdict"><\/span>", n.ui.viewports.verdict)
- };
- t.initErrorList = function(n, i) {
- t.initHelper(n, i, "<ul class="error-list"><\/ul>", n.ui.viewports.errors)
- };
- t.initPopover = function(n, t) {
- t.popover("destroy");
- t.popover({
- html: !0,
- placement: "bottom",
- trigger: "manual",
- content: " "
- })
- };
- t.initUI = function(n, i) {
- n.ui.showPopover ? t.initPopover(n, i) : (n.ui.showErrors && t.initErrorList(n, i), n.ui.showVerdicts && !n.ui.showVerdictsInsideProgressBar && t.initVerdict(n, i));
- n.ui.showProgressBar && t.initProgressBar(n, i)
- };
- t.possibleProgressBarClasses = ["danger", "warning", "success"];
- t.updateProgressBar = function(i, u, f, e) {
- var h = t.getUIElements(i, u).$progressbar,
- o = h.find(".progress-bar"),
- s = "progress-";
- i.ui.bootstrap2 && (o = h.find(".bar"), s = "");
- n.each(t.possibleProgressBarClasses, function(n, t) {
- o.removeClass(s + "bar-" + t)
- });
- o.addClass(s + "bar-" + r[f]);
- o.css("width", e + "%")
- };
- t.updateVerdict = function(n, i, r) {
- var u = t.getUIElements(n, i).$verdict;
- u.text(r)
- };
- t.updateErrors = function(i, r) {
- var f = t.getUIElements(i, r).$errors,
- u = "";
- n.each(i.instances.errors, function(n, t) {
- u += "<li>" + t + "<\/li>"
- });
- f.html(u)
- };
- t.updatePopover = function(t, i, r) {
- var f = i.data("bs.popover"),
- u = "",
- e = !0;
- return t.ui.showVerdicts && !t.ui.showVerdictsInsideProgressBar && r.length > 0 && (u = "<h5><span class="password-verdict">" + r + "<\/span><\/h5>", e = !1), t.ui.showErrors && (u += "<div>Errors:<ul class="error-list" style="margin-bottom: 0;">", n.each(t.instances.errors, function(n, t) {
- u += "<li>" + t + "<\/li>";
- e = !1
- }), u += "<\/ul><\/div>"), e ? void i.popover("hide") : (t.ui.bootstrap2 && (f = i.data("popover")), void(f.$arrow && f.$arrow.parents("body").length > 0 ? i.find("+ .popover .popover-content").html(u) : (f.options.content = u, i.popover("show"))))
- };
- t.updateFieldStatus = function(t, r, u) {
- var e = t.ui.bootstrap2 ? ".control-group" : ".form-group",
- f = r.parents(e).first();
- n.each(i, function(n, i) {
- t.ui.bootstrap2 || (i = "has-" + i);
- f.removeClass(i)
- });
- u = i[u];
- t.ui.bootstrap2 || (u = "has-" + u);
- f.addClass(u)
- };
- t.percentage = function(n, t) {
- var i = Math.floor(100 * n / t);
- return i = 0 > i ? 0 : i, i = i > 100 ? 100 : i
- };
- t.getVerdictAndCssClass = function(n, t) {
- var i, r, u;
- return 0 >= t ? (i = 0, u = -1, r = n.ui.verdicts[0]) : t < n.ui.scores[0] ? (i = 0, u = 0, r = n.ui.verdicts[0]) : t < n.ui.scores[1] ? (i = 0, u = 1, r = n.ui.verdicts[1]) : t < n.ui.scores[2] ? (i = 1, u = 2, r = n.ui.verdicts[2]) : t < n.ui.scores[3] ? (i = 1, u = 3, r = n.ui.verdicts[3]) : (i = 2, u = 4, r = n.ui.verdicts[4]), [r, i, u]
- };
- t.updateUI = function(n, i, r) {
- var u, e, f;
- u = t.getVerdictAndCssClass(n, r);
- f = u[0];
- u = u[1];
- n.ui.showProgressBar && (e = t.percentage(r, n.ui.scores[3]), t.updateProgressBar(n, i, u, e), n.ui.showVerdictsInsideProgressBar && t.updateVerdict(n, i, f));
- n.ui.showStatus && t.updateFieldStatus(n, i, u);
- n.ui.showPopover ? t.updatePopover(n, i, f) : (n.ui.showVerdicts && !n.ui.showVerdictsInsideProgressBar && t.updateVerdict(n, i, f), n.ui.showErrors && t.updateErrors(n, i))
- }
- }(n, i);
- f = {};
- ! function(n, u) {
- "use strict";
- var f, e;
- f = function(t) {
- var o, f, h, e, s = n(t.target),
- u = s.data("pwstrength-bootstrap"),
- c = s.val();
- void 0 !== u && (u.instances.errors = [], u.common.zxcvbn ? (o = [], n.each(u.common.userInputs, function(t, i) {
- o.push(n(i).val())
- }), o.push(n(u.common.usernameField).val()), e = zxcvbn(c, o).entropy) : e = r.executeRules(u, c), i.updateUI(u, s, e), f = i.getVerdictAndCssClass(u, e), h = f[2], f = f[0], u.common.debug && console.log(e + " - " + f), n.isFunction(u.common.onKeyUp) && u.common.onKeyUp(t, {
- score: e,
- verdictText: f,
- verdictLevel: h
- }))
- };
- u.init = function(r) {
- return this.each(function(u, e) {
- var h = n.extend(!0, {}, t),
- s = n.extend(!0, h, r),
- o = n(e);
- s.instances = {};
- o.data("pwstrength-bootstrap", s);
- o.on("keyup", f);
- o.on("change", f);
- o.on("onpaste", f);
- i.initUI(s, o);
- n.trim(o.val()) && o.trigger("keyup");
- n.isFunction(s.common.onLoad) && s.common.onLoad()
- }), this
- };
- u.destroy = function() {
- this.each(function(t, r) {
- var u = n(r),
- e = u.data("pwstrength-bootstrap"),
- f = i.getUIElements(e, u);
- f.$progressbar.remove();
- f.$verdict.remove();
- f.$errors.remove();
- u.removeData("pwstrength-bootstrap")
- })
- };
- u.forceUpdate = function() {
- this.each(function(n, t) {
- var i = {
- target: t
- };
- f(i)
- })
- };
- u.addRule = function(t, i, r, u) {
- this.each(function(f, e) {
- var o = n(e).data("pwstrength-bootstrap");
- o.rules.activated[t] = u;
- o.rules.scores[t] = r;
- o.rules.extra[t] = i
- })
- };
- e = function(t, i, r) {
- this.each(function(u, f) {
- n(f).data("pwstrength-bootstrap").rules[i][t] = r
- })
- };
- u.changeScore = function(n, t) {
- e.call(this, n, "scores", t)
- };
- u.ruleActive = function(n, t) {
- e.call(this, n, "activated", t)
- };
- n.fn.pwstrength = function(t) {
- var i;
- return u[t] ? i = u[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? n.error("Method " + t + " does not exist on jQuery.pwstrength-bootstrap") : i = u.init.apply(this, arguments), i
- }
- }(n, f)
- }(jQuery)
- </li></ul></div></span></h5></li></ul></span></span></div></div></span>
By Thirumani Raj posted on - 9th Jul 2016
Social Oauth Login
Personalized Map Navigation
Online Image Compression Tool
Image CompressionAdvertisement
Recent Posts
- « Personalized Map Navigation
- « Remjs solves the problem of mobile terminal adaptation
- « Picture centered vertically
- « Colorful Diwali Wishes Share Via Whatsapp and Facebook
- « Get City and State by ZipCode Using Google Map Geocoding API
