Olá, sou novo aqui no fórum, e como não encontrei resposta para minha dúvida, resolvi criar este tópico.
Estou aprendendo javaScript na faculdade, e tenho que fazer um trabalho que valide o CPF em três casos:
1- Se o usuário não digitou 11 caracteres
2- Se nem todos caracteres digitados são dígitos (estão entre 0 e 9)
3- Se os dígitos de verificação estão incorretos
O que fiz foi o seguinte, criei uma função para validar o cpf:
<script language="JavaScript">function validaCpf() {var cpf = document.getElementById("cpf");if (cpf.length != 11){alert('CPF tem que ter 11 dígitos!');}} </script>
e chamei a função quando o valor do campo cpf for alterado:
<input type="text" name="Cpf" id="cpf" size="15" maxlength="11" placeholder="Somente os números" onchange="validaCpf()"/> </p>
Porém, esta função exibi o alert mesmo quando o campo cpf possui 11 digitos, o que está errado no código?
Além disso, como faço para verificar se os campos são somente números e também acresentar esta função na função:
function calculaDV(num){ var resto = 0, soma = 0; for (i = 2; i < 11; i++) { soma = soma + ((num % 10) * i); num = parseInt(num / 10); } resto = (soma % 11); return (resto > 1) ? (11 - resto) : 0;}primeiro_digito = calculaDV(identCPF)segundo_digito = calculaDV(identCPF * 10 + primeiro_digito)
Desde já agradeço a colaboração daqueles que puderem me ajudar.