Extend the length check with a second rule: the password must also contain at least one digit.
You start with:
const password: string = "Secret99";
Build:
Length: 8 Has digit: True Strong
Rules:
- Print
"Length: "followed by the number of characters. - Loop through each character to set a boolean flag
hasDigit, which starts asfalseand becomestruewhen a digit is seen. - Print
"Has digit: "followed by the flag. Write it asTrueorFalsewith a capital letter, exactly as in the example (your language's own boolean prints differently, so choose the text yourself). - If the length is at least 8 and
hasDigitistrue, printStrong; otherwise printWeak.
Try other passwords: with abcdefgh the output is
Length: 8 Has digit: False Weak
Use a regex test like
/[0-9]/.test(c) in the loop. JavaScript prints true/false by default; convert with a ternary (hasDigit ? "True" : "False").
const password: string = "Secret99";
const length: number = password.length;
console.log("Length: " + length);
let hasDigit: boolean = false;
for (const c of password) {
if (/[0-9]/.test(c)) {
hasDigit = true;
}
}
console.log("Has digit: " + (hasDigit ? "True" : "False"));
if (length >= 8 && hasDigit) {
console.log("Strong");
} else {
console.log("Weak");
}
Free plan: 30 tutor messages. Premium is unlimited.
Saved
Ctrl + Enter to check
