$(document).ready(function() { var strPassword; var charPassword; var complexity = $(".register_pass_strength, #change_pass_strength"); var minPasswordLength = 6; var baseScore = 0, score = 0; var num = {}; num.Excess = 0; num.Upper = 0; num.Numbers = 0; num.Symbols = 0; var bonus = {}; bonus.Excess = 3; bonus.Upper = 4; bonus.Numbers = 5; bonus.Symbols = 5; bonus.Combo = 0; bonus.FlatLower = 0; bonus.FlatNumber = 0; outputResult(); $("#register_pass, #change_pass").bind("keyup", checkVal); function checkVal() { init(); baseScore = 40; analyzeString(); calcComplexity(); outputResult(); } function init() { strPassword= $("#register_pass, #change_pass").val(); charPassword = strPassword.split(""); num.Excess = 0; num.Upper = 0; num.Numbers = 0; num.Symbols = 0; bonus.Combo = 0; bonus.FlatLower = 0; bonus.FlatNumber = 0; baseScore = 0; score =0; } function analyzeString () { for (i=0; i=100) { score = 100; } if (score<=10) { $('.password_strength_feedback').html('Very Weak'); } else if (score<=40) { $('.password_strength_feedback').html('Weak'); } else if (score<=60) { $('.password_strength_feedback').html('Medium'); } else if (score<=75) { $('.password_strength_feedback').html('Average'); } else if (score<=90) { $('.password_strength_feedback').html('Strong'); } else if (score<=100) { $('.password_strength_feedback').html('Very Secure'); } hue = Math.round(score*1.28); complexity.find('span').css('background', 'hsl('+hue+', 100%, 30%)'); $('.password_strength_feedback').css('color', 'hsl('+hue+', 100%, 30%)'); complexity.find('span').css('width',score+'%'); } } );