Desafio: Simple Password Validator
Regras para a senha:
"password" (case insensitive)A solução implementada foi:
function SimplePassword(str) {
// 1. Verifica tamanho
if (str.length < 7 || str.length > 31) return false;
// 2. Não pode conter "password" (ignorar maiúscula/minúscula)
if (str.toLowerCase().includes("password")) return false;
// 3. Verificações com regex
const hasUpper = /[A-Z]/.test(str);
const hasLower = /[a-z]/.test(str);
const hasNumber = /[0-9]/.test(str);
const hasSymbol = /[^a-zA-Z0-9]/.test(str);
return hasUpper && hasLower && hasNumber && hasSymbol;
}
🔍 Explicação da solução
str.length < 7 || str.length > 31 → retorna false se a senha for muito curta ou longastr.toLowerCase().includes("password") → ignora maiúsculas/minúsculas[A-Z] → verifica se tem letra maiúscula[a-z] → verifica se tem letra minúscula[0-9] → verifica se tem número[^a-zA-Z0-9] → verifica se tem caractere especialtrue somente se todas as condições forem atendidas