JAVASCRIPT

Validar senhas com Javascript

Aprenda a criar regras para cadastrar senhas seguras

20/10/2019JAVASCRIPT

A criação de uma senha segura é algo importante para tentar diminuir o risco de invasão da conta do nosso usuário. A validação de senha deve ter feita tanto do lado da aplicação quanto do lado do backend. Vamos ver como fazer validação de senha com JavaScript

Neste exemplo, vamos aprender a criar um script em JavaScript que vai validar se a senha informada atenda a algumas regras. A nossa senha deve ter pelo menos 1 destes elementos:

1 - Letra maíuscula

2 - Letra minúscula

3 - Número

4 - Caractere especial.

Além das regras acima, vamos definir o tamanho da senha como 8 caracteres.

Para validar se existe algum caractere dentro das condições, precisamos criar uma expressão regular. Primeiro, temos que definir qual o modelo que vamos utilizar para cada uma das condições. Isso pode ser feito da seguinte forma:

var letrasMaiusculas = /[A-Z]/;

var letrasMinusculas = /[a-z]/; 

var numeros = /[0-9]/;

var caracteresEspeciais = /[!|@|#|$|%|^|&|*|(|)|-|_]/;

Perceba que os padrões que vão servir de referência ficam entre "/".

Como estas variáveis são expressões regulares, elas possuem um método chamado "test" que serve para conferir se o parâmetro enviado é compatível com o padrão. Aqui tem um exemplo:

var letra = "P";

if(letrasMaiusculas.test(letra)){

console.log('sucesso');

} else {

console.log('erro');

}

Como em nosso exemplo, utilizamos uma letra maíuscula, o teste vai retornar com sucesso.

Para validar o tamanho de uma string, existe uma propriedade chamada "length"

var senha = "teste12345";

if(senha.length == 8){

console.log('sucesso');

} else {

console.log('erro');

}

O retorno deste código será "erro" porque a string senha tem 9 caracteres.

Para reaproveitar código no futuro, vamos criar uma função que faça esta validação por nós. A estrutura da função será a seguinte:

1 - Vamos criar expressões regulares com os padrões que vamos seguir.

2 - O código continua a ser executado somente se a senha tiver o tamanho correto

3 - Vamos fazer um "loop" para cada letra de nossa senha. Cada letra será validada de acordo com as regras. Vamos criar variáveis auxiliares para registrar se houve ou não "match", ou seja, se a letra é compatível com  alguma das regras.

4 - Por último, vamos conferir estas variáveis auxiliares. Se todas estiverem preenchidas, a senha é compatível. Caso contrário, retornamos false.

A função completa ficará assim:

function senhaValida(p){

var retorno = false;

var letrasMaiusculas = /[A-Z]/;

var letrasMinusculas = /[a-z]/; 

var numeros = /[0-9]/;

var caracteresEspeciais = /[!|@|#|$|%|^|&|*|(|)|-|_]/;

if(p.length > 8){

return retorno;

}

if(p.length < 8){

return retorno;

}

var auxMaiuscula = 0;

var auxMinuscula = 0;

var auxNumero = 0;

var auxEspecial = 0;

for(var i=0; i<p.length; i++){

if(letrasMaiusculas.test(p[i]))

auxMaiuscula++;

else if(letrasMinusculas.test(p[i]))

auxMinuscula++;

else if(numeros.test(p[i]))

auxNumero++;

else if(caracteresEspeciais.test(p[i]))

auxEspecial++;

}

if (auxMaiuscula > 0){

if (auxMinuscula > 0){

if (auxNumero > 0){

if (auxEspecial) {

retorno = true;

}

}

}

}

 

return retorno;

}

console.log(senhaValida("test1234"));

console.log(senhaValida("Test123@"));

console.log(senhaValida("Teste123@"));

 

Outros conteudos que podem ser de seu interesse

Criando um slider sem plugins
28/11/2019JAVASCRIPT

Criando um slider sem plugins

Veja como criar um efeito de slider apenas com JavaScript

Saiba mais...
Verificar a conexão com o Phonegap
12/03/2017JAVASCRIPT

Verificar a conexão com o Phonegap

Veja um exemplo de como verificar se existe conexão com a Internet

Saiba mais...

Conteúdo sobre banco de dados sem complicação!

MySQL - Referência Rápida

 

SQL Server - Referência Rápida

 

SQL vs Mongo