vladovip

Password validation

Feb 7th, 2021
557
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solution(password) {
  2.  
  3.     let isDigit = (c) => c >= 48 && c <= 57;
  4.    
  5.     let v1 = !isAlphabetical(password);
  6.     let v2 = !lengthCheck(password);
  7.     let v3 = !isContainTwoDigits(password);
  8.  
  9.     if (!isAlphabetical(password)) {
  10.         console.log("Password must consist only of letters and digits");
  11.     }
  12.     if (!lengthCheck(password)) {
  13.         console.log("Password must be between 6 and 10 characters");
  14.     }
  15.     if (!isContainTwoDigits(password)) {
  16.         console.log("Password must have at least 2 digits");
  17.     }
  18.    
  19.     if (v1 && v2 && v3) {
  20.         console.log("Password is valid");
  21.     }
  22.  
  23.     function lengthCheck(pass) {
  24.         return pass.length >= 6 && pass.length <= 10;
  25.     }
  26.  
  27.     function isAlphabetical(pass) {
  28.  
  29.  
  30.         let isLowerLetter = (c) => c >= 87 && c <= 122;
  31.         let isUpperLetter = (c) => c >= 65 && c <= 90;
  32.         let isOk = true;
  33.  
  34.         for (let char of pass) {
  35.             let n = char.charCodeAt(0);
  36.  
  37.             if (!isDigit(n) && !isLowerLetter(n) && !isUpperLetter(n)) {
  38.                 isOk = false;
  39.                 break;
  40.             }
  41.         }
  42.         return isOk;
  43.     }
  44.  
  45.     function isContainTwoDigits(pass) {
  46.  
  47.         let counter = 0;
  48.         let isOk = false;
  49.  
  50.         for (let char of pass) {
  51.             let n = char.charCodeAt(0);
  52.             if (isDigit(n)) {
  53.                 counter++;
  54.             }
  55.             if (counter === 2) {
  56.                 isOk = true;
  57.                 break;
  58.             }
  59.         }
  60.         return isOk;
  61.     }
  62.  
  63.  
  64. }
  65. solution('MyPass123');
  66.  
Advertisement
Add Comment
Please, Sign In to add comment