jlittlejohn
1/31/2013 - 3:03 PM

JS: Password Strength Indication

JS: Password Strength Indication

function passwordStrength(password) {
  var $ = jqnc();
  var desc = new Array();
  desc[0] = "Very Weak";
  desc[1] = "Weak";
  desc[2] = "Better";
  desc[3] = "Medium";
  desc[4] = "Strong";
  desc[5] = "Strongest";

  var score = 0;

  //if password bigger than 6 give 1 point
  if (password.length > 6) score++;

  //if password has both lower and uppercase characters give 1 point  
  if ( ( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) ) ) score++;

  //if password has at least one number give 1 point
  if (password.match(/\d+/)) score++;

  //if password has at least one special caracther give 1 point
  if ( password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/) ) score++;

  //if password bigger than 12 give another 1 point
  if (password.length > 12) score++;

  $('.in').find('#passwordDescription').html(desc[score]);
  $('.in').find('#passwordStrength').removeClass('strength0 strength1 strength2 strength3 strength4 strength5');
  $('.in').find('#passwordStrength').addClass('strength'+score);
}