function jqueryReady() { var strength = { 0: "Worst ☹", 1: "Bad ☹", 2: "Weak ☹", 3: "Good ☺", 4: "Strong ☻" } var policyPatternRegex = new RegExp(policyPattern); var password = document.getElementById('password'); var confirmed = document.getElementById('confirmedPassword'); var meter = document.getElementById('password-strength-meter'); password.addEventListener('input', validate); confirmed.addEventListener('input', validate) function validate() { var val = password.value; var cnf = confirmed.value; var disableSubmit = val == "" || cnf == "" || val != cnf || !policyPatternRegex.test(val) || !policyPatternRegex.test(cnf); $('#submit').prop("disabled", disableSubmit) if (disableSubmit) { $('#password-strength-text').show(); var responseText = ""; $('#password-strength-text').html(responseText); return; } var result = zxcvbn(val); // Update the password strength meter meter.value = result.score; // Update the text indicator if (val !== "") { $('#password-strength-text').show(); var responseText = "Strength: " + strength[result.score] + "" + "" + result.feedback.warning + " " + result.feedback.suggestions + ""; $('#password-strength-text').html(responseText); } else { $('#password-strength-text').hide(); } } }