Nesse desafio, você deverá construir um método/função que deve conseguir receber uma senha e retornar se a mesma é válida, dadas algumas validações. Utilize a linguagem de programação Javascript/Typescript.
- Deve ser possível receber uma string que passará pelas seguintes validações:
- A senha deve conter de 16 a 32 caracteres;
- Deve conter pelo menos 2 caracteres especiais;
- Deve conter letras maiúsculas e minúsculas;
- Não pode conter mais de 3 sequencias de caracteres, letras ou números (abc ou 123, por exemplo).
- Deve retornar um objeto contendo o resultado (verdadeiro ou falso), e uma lista de erros de validação em que a senha não passou;
- Deve conter testes unitários para validar os casos listados no exemplo.
console.log(isValidPassword("rZpy*D95&WBE'Z&B"));
// { result: true, errors: [] }
console.log(isValidPassword('c|e_AbC>F%8J%k`N8'));
// { result: false, errors: ['Caracteres em sequencia'] }
console.log(isValidPassword('dX5sWaY6tknDUHtL'));
// { result: false, errors: ['Faltam caracteres especiais'] }
console.log(isValidPassword('Gau74J^Zf6(>x4w'));
// { result: false, errors: ['Tamanho inválido'] }
- Utilizar POO;
- Utilizar Typescript.
- Utilizar Libs;
- Não copiar código.
// Install dependencies:
$ yarn
// Validate password:
yarn dev