Advertisement
Guest User

plej

a guest
Jan 23rd, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var _passwordMinStrength=2;
  2. var _passwordMinLength=8;
  3.  
  4. var _passwordStrengthRules = [
  5.     {passwordStrength: 4, minLength: 8, charClassCount: 4},
  6.     {passwordStrength: 3, minLength: 8, charClassCount: 3},
  7.     {passwordStrength: 2, minLength: _passwordMinLength, charClassCount: 2},
  8.     {passwordStrength: 1, minLength: _passwordMinLength, charClassCount: 1}
  9. ];
  10.  
  11.  
  12.  
  13. function calculatePasswordStrength(password) {
  14.     var selectedStrength = 0;
  15.     for (var i=0; i<_passwordStrengthRules.length; i++) {
  16.         var minLength = _passwordStrengthRules[i].minLength;
  17.         var charClassCount = _passwordStrengthRules[i].charClassCount;
  18.  
  19.         var classCount = 0;
  20.         if(password.match(jQuery("#passwordPattern").val())){
  21.             classCount+=2;
  22.             if ((password.match(/[a-z�����깜]/g) || []).length >= 1) {
  23.                 classCount += 1;
  24.             }
  25.             if ((password.match(/[@!#$%^&*/?><]/g) || []).length >= 1) {
  26.                 classCount += 1;
  27.             }
  28.         }
  29.  
  30.         if (classCount >= charClassCount) {
  31.             if(charClassCount>=3){
  32.                 if(password.length>=_passwordStrengthRules[i].minLength) {
  33.                     selectedStrength = _passwordStrengthRules[i].passwordStrength;
  34.                     break;
  35.                 }
  36.             }else {
  37.                 selectedStrength = _passwordStrengthRules[i].passwordStrength;
  38.                 break;
  39.             }
  40.         }
  41.     }
  42.     return selectedStrength;
  43. }
  44.  
  45. function checkPasswordStrength(passwordInput, passwordInfo, errorSpan,
  46.         infoSpan, leftToRight) {
  47.    
  48.  
  49.     var password = $(passwordInput).val();
  50.     var calculatedStrength = calculatePasswordStrength(password);
  51.    
  52.     //info about safe password
  53.     if (calculatedStrength == 4) {
  54.         $(infoSpan).removeClass('hidden');
  55.     } else{
  56.         $(infoSpan).addClass('hidden');
  57.     }
  58.    
  59.     //error about weak password
  60.     if(calculatedStrength < _passwordMinStrength){
  61.         var errmsg=$('#wrongPasswordSyntaxMsg').val();
  62.         $(errorSpan).html(errmsg);
  63.     } else{
  64.         $(errorSpan).html('');
  65.     }
  66.    
  67.     if (!$(passwordInfo).children().length && $(passwordInput).val().length >= _passwordMinLength)
  68.         $(passwordInfo).append('<span></span><span></span><span></span><span></span>');
  69.  
  70.     if (leftToRight == true) {
  71.         $(passwordInfo).children().each(function(index, item) {
  72.             if (index < calculatedStrength)
  73.                 $(item).css("display", "block");
  74.             else
  75.                 $(item).css("display", "none");
  76.  
  77.         });    
  78.     } else {
  79.         $(passwordInfo).children().reverse().each(function(index, item) {
  80.             if (index < calculatedStrength)
  81.                 $(item).css("visibility", "visible");
  82.             else
  83.                 $(item).css("visibility", "hidden");
  84.         });
  85.     }
  86.     return calculatedStrength;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement