Ir para conteúdo
Fórum Script Brasil
  • 0

Validação de senha no formulario, com letras e numeros obrigatórios


Wandersomrl

Pergunta

Eu fiz uma RegEx para validar um campo de senha no meu formulario, para apenas ser digitado letras e números obrigatoriamente, mas agora ele precisa de uma determinada quantidade de letras e números, Ex: "digite uma senha com 5 letras e 4 numeros", esse é o problema, o meu cliente quer que tenha letras e numeros mas não necessariamente nessa ordem e quantidade, ele quer que o usuário digite letras e numeros, mas que tenha a quantidade de caracteres da senha opcional pelo usuario.

segue o script que fiz a RegEx

<input name="senha" type="password" class="form" id="senha"  size="60" maxlength="60" 
required="required" pattern="[a-zA]{5}[Z0-9]{3}">
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Em 27/02/2015 at 10:59, Wandersomrl disse:

Eu fiz uma RegEx para validar um campo de senha no meu formulario, para apenas ser digitado letras e números obrigatoriamente, mas agora ele precisa de uma determinada quantidade de letras e números, Ex: "digite uma senha com 5 letras e 4 numeros", esse é o problema, o meu cliente quer que tenha letras e numeros mas não necessariamente nessa ordem e quantidade, ele quer que o usuário digite letras e numeros, mas que tenha a quantidade de caracteres da senha opcional pelo usuario.

 

segue o script que fiz a RegEx


<input name="senha" type="password" class="form" id="senha"  size="60" maxlength="60" 
required="required" pattern="[a-zA]{5}[Z0-9]{3}">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nível da senha</title>
<script>
function verifica(){
    senha = document.getElementById("senha").value;
    forca = 0;
    mostra = document.getElementById("mostra");
    if((senha.length >= 4) && (senha.length <= 7)){
        forca += 10;
    }else if(senha.length>7){
        forca += 25;
    }
    if(senha.match(/[a-z]+/)){
        forca += 10;
    }
    if(senha.match(/[A-Z]+/)){
        forca += 20;
    }
    if(senha.match(/\d+/)){
        forca += 20;
    }
    if(senha.match(/\W+/)){
        forca += 25;
    }
    return mostra_res();
}
function mostra_res(){
    if(forca < 30){
        mostra.innerHTML = '<tr><td bgcolor="red" width="'+forca+'"></td><td>Fraca </td></tr>';
    }else if((forca >= 30) && (forca < 60)){
        mostra.innerHTML = '<tr><td bgcolor="yellow" width="'+forca+'"></td><td>Justa </td></tr>';;
    }else if((forca >= 60) && (forca < 85)){
        mostra.innerHTML = '<tr><td bgcolor="blue" width="'+forca+'"></td><td>Forte </td></tr>';
    }else{
        mostra.innerHTML = '<tr><td bgcolor="green" width="'+forca+'"></td><td>Excelente </td></tr>';
    }
}
</script>
</head>
<body>
<center><h1><font color="red">Veja o nível da senha digitada</font></h1></center>
<form name="teste" id="teste" onsubmit="return false">
Senha: <input type="password" name="senha" id="senha" onkeyup="javascript:verifica()" />
<table id="mostra"></table>
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...