Teste de Segurança da senha em JavaScript
Colaboração: André Lourenço Pedroso
Data de Publicação: 13 de Dezembro de 2006
Alguns de vocês devem ter visto no Hotmail(tm), por exemplo, um recuro onde é feito um teste da senha, mostrando o seu nivél de segurança.
Para aqueles que acharam esse recurso interessante, mostro nesse pequeno artigo um exemplo em JavaScript.
Os testes seguem a seguinte lógica:
- Baixa segurança - Senha que contem um tipo de caracter.
- Média segurança - Senha que tenha mais de quatro digitos e contenha no mínimo dois tipos de caracteres.
- Alta segurança - Senha que tenha mais de sete digitos e contenha no mínimo três tipos de caracteres diferentes.
function TestaSenha(valor) { var d = document.getElementById('seguranca'); ERaz = /[a-z]/; ERAZ = /[A-Z]/; ER09 = /[0-9]/; ERxx = /[@!#$%&*+=?|-]/; if(valor.length == ''){ d.innerHTML = '<h4>Seguranca da senha: !</h4>'; } else { if(valor.length < 5){ d.innerHTML = '<h4>Seguranca da senha: <font color=\'red\'> BAIXA</font></h4>'; } else { if(valor.length > 7 && valor.search(ERaz) != -1 && valor.search(ERAZ) != -1 && valor.search(ER09) != -1 || valor.length > 7 && valor.search(ERaz) != -1 && valor.search(ERAZ) != -1 && valor.search(ERxx) || valor.length > 7 && valor.search(ERaz) != -1 && valor.search(ERxx) != -1 && valor.search(ER09) || valor.length > 7 && valor.search(ERxx) != -1 && valor.search(ERAZ) != -1 && valor.search(ER09)){ d.innerHTML = '<h4>Seguranca da senha: <font color=\'green\'> ALTA</font></h4>'; } else { if(valor.search(ERaz) != -1 && valor.search(ERAZ) != -1 || valor.search(ERaz) != -1 && valor.search(ER09) != -1 || valor.search(ERaz) != -1 && valor.search(ERxx) != -1 ||valor.search(ERAZ) != -1 && valor.search(ER09) != -1 ||valor.search(ERAZ) != -1 && valor.search(ERxx) != -1 ||valor.search(ER09) != -1 && valor.search(ERxx) != -1){ d.innerHTML = '<h4>Seguranca da senha: <font color=\'orange\'> MEDIA</font></h4>'; } else { d.innerHTML = '<h4>Seguranca da senha: <font color=\'red\'> BAIXA</font></h4>'; } } } } }