Skip to content

Instantly share code, notes, and snippets.

@vyspiansky
Last active March 1, 2021 15:58
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vyspiansky/8870328 to your computer and use it in GitHub Desktop.
Save vyspiansky/8870328 to your computer and use it in GitHub Desktop.
jQuery: password strength
/*
* Source: http://css-tricks.com/snippets/jquery/password-strength/
*/
$('#pass').keyup(function(e) {
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (false == enoughRegex.test($(this).val())) {
$('#passstrength').html('More Characters');
} else if (strongRegex.test($(this).val())) {
$('#passstrength').className = 'ok';
$('#passstrength').html('Strong!');
} else if (mediumRegex.test($(this).val())) {
$('#passstrength').className = 'alert';
$('#passstrength').html('Medium!');
} else {
$('#passstrength').className = 'error';
$('#passstrength').html('Weak!');
}
return true;
});
/*
* HTML:
* <input type="password" name="pass" id="pass" />
* <span id="passstrength"></span>
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment