swpm.password-meter.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. (function($){
  2. function check_pass_strength() {
  3. var type = $('#swpm-profile-page').attr('type'), pass1 = $('#pass1').val(), pass2 = $('#pass2').val(), strength;
  4. if (type === 'edit' && pass1.length === 0 && pass2.length === 0){
  5. $('#pass1').closest('tr').removeClass('form-required');
  6. }
  7. else{
  8. $('#pass1').closest('tr').addClass('form-required');
  9. }
  10. $('#pass-strength-result').removeClass('short bad good strong');
  11. if ( ! pass1 ) {
  12. $('#pass-strength-result').html( pwsL10n.empty );
  13. return;
  14. }
  15. strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass2 );
  16. switch ( strength ) {
  17. case 2:
  18. $('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
  19. break;
  20. case 3:
  21. $('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
  22. break;
  23. case 4:
  24. $('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
  25. break;
  26. case 5:
  27. $('#pass-strength-result').addClass('short').html( pwsL10n['mismatch'] );
  28. break;
  29. default:
  30. $('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
  31. }
  32. }
  33. $(document).ready( function() {
  34. $('#pass1').val('').keyup( check_pass_strength );
  35. $('#pass2').val('').keyup( check_pass_strength );
  36. $('#pass-strength-result').show();
  37. });
  38. })(jQuery);