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

1 Answer

0 votes
// You can set your own rules

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

    const lowuppdig = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

    for (let i = 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 = ["aq1o@p9$XM", "asW!W)(o", "WSDFK!#Q", "n*djskq*", "WE3q#$"];

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



/*
run:
  
Strong
Medium
Medium
Medium
Weak
           
*/

 



answered Oct 22, 2024 by avibootz
...