How to check whether a given password is strong, medium, or weak in TypeScript

1 Answer

0 votes
// You can set your own rules

function checkPasswordStrength(password: string) {
    const length: number = password.length;
    
    let hasLower: boolean = false, hasUpper: boolean = false;
    let hasDigit: boolean = false, specialChar: boolean = false;

    const lowuppdig: string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

    for (let i: number = 0; i < length; i++) {
        if (password[i] >= 'a' && password[i] <= 'z') {
            hasLower = true;
        }
        if (password[i] >= 'A' && password[i] <= 'Z') {
            hasUpper = true;
        }
        if (password[i] >= '0' && password[i] <= '9') {
            hasDigit = true;
        }

        if (!lowuppdig.includes(password[i])) {
            specialChar = true;
        }
    }

    if (hasLower && hasUpper && hasDigit && specialChar && length >= 10) {
        return "Strong";
    } else if ((hasLower || hasUpper) && specialChar && length >= 8) {
        return "Medium";
    }

    return "Weak";
}

const passwords: string[] = ["oeW@$4W*X3", "esW!(M)q", "WSDFK!#Q", "n*djskq*", "WE3q#$"];

passwords.forEach(password => {
    console.log(checkPasswordStrength(password));
});



/*
run:
  
"Strong" 
"Medium" 
"Medium" 
"Medium" 
"Weak" 
           
*/

 



answered Oct 22, 2024 by avibootz
...