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

Validar Cpf


monalisa

Pergunta

Estou tentando validar o CPF com uma função que busquei do fórum só que quando chamo nada acontece, dá apenas no rodapé do internet explorer a mensagem erro na página. Alguém pode me ajudar, pois não estou conseguindo descobrir o erro, vou colocar meu código aí:

<script>

function IsCPFValid(FormName, ElemName, ElemCaption){

document.forms[FormName].elements[ElemName].value = formatDoc(FormName, ElemName, 'cpf', 'banco');

var ok = 'sim';
var ParteString;
var Mensagem;
var CampoTeste = document.forms[FormName].elements[ElemName];
var CampoSemBrancos;
CharValido = '0123456789'

//Monta campo sem brancos
CampoSemBrancos = "";
for (var i=0; i < CampoTeste.value.length; i++) {
 if (CampoTeste.value.substring(i, i+1) != ' ') {
 CampoSemBrancos = CampoSemBrancos + CampoTeste.value.substring(i, i+1);
 }
}

//Se campo estiver vazio
if (CampoSemBrancos == '')     {  
 Mensagem = 'Por favor, preencha o campo ' + ElemCaption 
 alert(Mensagem)
 CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
 CampoTeste.select();
 CampoTeste.focus()
 return false;
}

//Se estiver preenchido, testar os caracteres
ParteString = "";
for (var i=0; i < CampoTeste.value.length; i++) {
 ParteString = "" + CampoTeste.value.substring(i, i+1);
 if (CharValido.indexOf(ParteString) == "-1") {
  ok = "não";
 }
}

if (ok == "não") {
 alert("Caracteres inválidos! Preencha somente com números!");
 CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
 CampoTeste.select();
 CampoTeste.focus();
 return false;
}
if (CampoTeste.value.length != 11){
 alert("Por Favor, Preencha  com 11 números!");
 CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
 CampoTeste.select();
 CampoTeste.focus();
 return false;
}

//Calculo de consistencia do CPF
var soma
var CPFCalculado
var CPFDigito

CPFCalculado = CampoTeste.value.substring(0,9);
soma = 0;
for (var i=0; i < 9; i++) {
 soma = soma + CPFCalculado.substring(i, i+1) * (10 - i)
}

CPFDigito = 11  - (soma % 11);
if (CPFDigito > 9){
 CPFCalculado = CPFCalculado + '0';
}
else{
 CPFCalculado = CPFCalculado + String(CPFDigito);
}
soma = 0;
for (i=0;i < 10; i++){
 soma = soma + CPFCalculado.substring(i, i+1) * (11 - i)
} 
CPFDigito = 11  - (soma % 11);
if (CPFDigito > 9){
 CPFCalculado = CPFCalculado + '0';
}
else{
 CPFCalculado = CPFCalculado + String(CPFDigito);
}

if (
 (CampoTeste.value != CPFCalculado)
 ||(CampoTeste.value == '11111111111')
 ||(CampoTeste.value == '22222222222')
 ||(CampoTeste.value == '33333333333')
 ||(CampoTeste.value == '44444444444')
 ||(CampoTeste.value == '55555555555')
 ||(CampoTeste.value == '66666666666')
 ||(CampoTeste.value == '77777777777')
 ||(CampoTeste.value == '88888888888')
 ||(CampoTeste.value == '99999999999')
 ){
 //alert("CPF Inválido! Digite novamente! " + String(CPFCalculado));
 alert("CPF Inválido! Digite novamente! ");
 CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
 CampoTeste.select();
 CampoTeste.focus();
 return false;
} 
CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
return true;

</script>


<td width="40%"><input name="frmCnpjCpf" type="text" id="frmCnpjCpf" size="25" maxlength="25" 
onChange="IsCPFValid(this.frmincfornecedor, 'frmCnpjCpf', 'frmCnpjCpf')"></td>

   <script language="javascript">
         addCampos('frmCnpjCpf');
         frmincfornecedor.frmCnpjCpf.focus();
   </script>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Fiz o teste a verificação do CPF deu certinha quando coloco "onchange=VerificaCPF(this.name)" mas quando ponho "onchange=VerificaCPF(this.name);FormataCPF(this.name)", ela não faz uma verificação 100%, se eu digito "123 - ele dá mensagem CPF Inválido, mas se digito 1234 ele passa e não dá mensagem nenhuma". Quero saber se tem jeito de colocar essa função de FormataCPF em um outro evento, para que a função VerificaCPF funcione belezinha.

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,7k
×
×
  • Criar Novo...