// 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"
*/