Password Strength Checker
by ninty9notout
HTML
<input type="text" class="strength">
JavaScript
;(function($, window, document, undefined) {
$.fn.password = function(options) {
var options = $.extend({}, {
// Additions
baseMultiplier: 40,
uppercase: 2,
lowercase: 2,
number: 4,
symbol: 6,
// Deductions
lettersOnly: 1,
numbersOnly: 1,
repeatCharacters: 1,
consecutiveUppercaseLetters: 1,
consecutiveLowercaseLetters: 1,
consecutiveNumbers: 1
}, options);
$(this).each(function() {
var
$t = $(this),
span = $('<span>Score: 0</span>'),
score = 0;
$t.on("keyup", function() {
var
length = $t.val().length,
value = $t.val(),
array = value.split("");
score = length * options.baseMultiplier;
for(var i in array) {
var l = array[i];
if(/[A-Z]/.test(l)) {
score += options.uppercase;
} else if(/[a-z]/.test(l)) {
score += options.lowercase;
} else if(/\d/.test(l)) {
score += options.number;
} else if(/[£$%^&\*;:@~.,!# ]/.test(l)) {
score += options.symbol;
}
}
if(/^[A-Z]+$/.test(value)) {
alert("all lower");
} else if(/^[a-z]+$/.test(value)) {
alert("all upper");
}
span.html("Score: " + score);
});
$t.after(span);
});
}
})(jQuery, window, document);
$('.strength').password();