ele parece estar funcionando, mas quando um campo está incorreto, ele insere mesmo assim, porque será?
<script language="javascript">
function validaCPF() {
cpf = document.form1.cpf.value;
erro = new String;
if (cpf.length < 11) erro += "são necessarios 11 digitos para verificacao do CPF! ";
var nonNumbers = /\D/;
if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! ";
if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
erro += "Numero de CPF invalido!"
}
var a = [];
var b = new Number;
var c = 11;
for (i=0; i<11; i++){
a[i] = cpf.charAt(i);
if (i < 9) b += (a[i] * --c);
}
if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
b = 0;
c = 11;
for (y=0; y<10; y++) b += (a[y] * c--);
if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
if (erro.length == 0)
erro +="Digito verificador com problema! O correto seria "+a[9]+""+a[10];
}
if (erro.length > 0){
alert(erro);
return false;
}
alert("O número do CPF verificado está correto. Ou seja, os dígitos verificadores conferem com o número básico. " +
"Tal verificação, porém, não examina se o CPF está suspenso ou cancelado pela Receita Federal. "+
"Para consulta do CPF junto à Receita Federal, clique no link disponível no final dessa página ");
return false;
}
</script>
Pergunta
frnd
ele parece estar funcionando, mas quando um campo está incorreto, ele insere mesmo assim, porque será?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.