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á?
<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>E no HTML,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.