В вашем коде есть ошибка.
Редактировать эту строку
for (var l = 0; specialCharacters.length; l++) {
до
for (var l = 0; l < specialCharacters.length; l++) {
Выполнить / запустить фрагмент ниже:
function hasUpperCase(input) {
for (var i = 0; i < input.length; i++) {
if (input[i] === input[i].toUpperCase()) {
return true;
}
}
}
function hasLowerCase(input) {
for (var j = 0; j < input.length; j++) {
if (input[j] === input[j].toLowerCase()) {
return true;
}
}
}
function isLongEnough(input) {
if (input.length >= 8) {
return true;
}
}
function hasSpecialCharacter(input) {
var specialCharacters = ['`', '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '+', '=', '{', '}', ';', ':', '\'', '"', '\\', '|', ',', '<', '.', '>', '/', '?'];
for (var k = 0; k < input.length; k++) {
for (var l = 0; l < specialCharacters.length; l++) {
if (input[k] === specialCharacters[l]) {
return true;
}
}
}
}
function isPasswordValid(input) {
if (hasUpperCase(input) && hasLowerCase(input) && isLongEnough(input)) {// && hasSpecialCharacter(input)) {
console.log("The password is valid");
} if (!hasUpperCase(input)) {
console.log("The password needs atleast 1 capital letter");
} if (!hasLowerCase(input)) {
console.log("The password needs atleast one small letter");
} if (!isLongEnough(input)) {
console.log("The password must be atleast 8 characters long");
} if (!hasSpecialCharacter(input)) {
console.log("The password needs atleast 1 special character");
}
}
console.log('Validating password: "red"');
isPasswordValid('red');
console.log('Validating password: "red@Redcolor"');
isPasswordValid('red@Redcolor');