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

Validação


monalisa

Pergunta

Galera

estou tentando validar o CNPJ, peguei no fórum o script de validação do CNPJ só que qualquer CNPJ que digito ele me dá a mensagem de "CNPJ Inválido". Alguém pode me ajudar?

<head>
<script language="JavaScript">
function TESTA(CNUMB,CTYPE)
{
 if(Verify(CNUMB, CTYPE))
 {
   alert(CTYPE+" válido!");
 }
 else
 {
   alert(CTYPE+" inválido!");
 }
 return;
}

function ClearStr(str, char)
{
 while((cx=str.indexOf(char))!=-1)
 {  
   str = str.substring(0,cx)+str.substring(cx+1);
 }
 return(str);
}

function ParseNumb(c)
{
 c=ClearStr(c,'-');
 c=ClearStr(c,'/');
 c=ClearStr(c,',');
 c=ClearStr(c,'.');
 c=ClearStr(c,'(');
 c=ClearStr(c,')');
 c=ClearStr(c,' ');
 if((parseFloat(c) / c != 1))
 {
   if(parseFloat(c) * c == 0)
   {
     return(c);
   }
   else
   {
     return(0);
   }
 }
 else
 {
   return(c);
 }
}

function Verify(CNUMB,CTYPE)
{
 CNUMB=ParseNumb(CNUMB)
 if(CNUMB == 0)
 {
   return(false);
 }
 else
 {
   g=CNUMB.length-2;
   if(TestDigit(CNUMB,CTYPE,g))
   {
     g=CNUMB.length-1;
     if(TestDigit(CNUMB,CTYPE,g))
     { 
       return(true);
     }
     else
     {
       return(false);
     }
   }
   else
   {
     return(false);
   }
 }
}

function TestDigit(CNUMB,CTYPE,g)
{
 var dig=0;
 var ind=2;
 for(f=g;f>0;f--)
 {
   dig+=parseInt(CNUMB.charAt(f-1))*ind;
   if (CTYPE=='CNPJ')
   { if(ind>8) {ind=2} else {ind++} }
   else
   { ind++ }
 }
 dig%=11;
 if(dig<2)
 {
   dig=0;
 }
 else
 {
   dig=11-dig;
 }
 if(dig!=parseInt(CNUMB.charAt(g)))
 {
   return(false);
 }
 else
 {
   return(true);
 }
}

</script>

<form action="<?php echo $editFormAction; ?>" method="POST" name="frmincfornecedor" id="frmincfornecedor" >

<td width="40%"><input name="frmCnpjCpf" type="text" id="frmCnpjCpf" size="25" maxlength="25" onKeyPress="return txtBoxFormat(document.frmincfornecedor, 'frmCnpjCpf', '99.999.999/9999-99', event);" onChange="TESTA(document.frmincfornecedor.frmCnpjCpf.value, 'CNPJ')"> 

</form>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Tb testei e funcionou depois que troquei o nome de uma variavel(char). A palavra char é reservada no javascript por isso se tu quiser passar uma variavel com nome de char ele vai entrar em conflito. Tenta trocar o nome da variavel char para caracter.

function ClearStr(str, caracter)

{

while((cx=str.indexOf(caracter))!=-1)

{

  str = str.substring(0,cx)+str.substring(cx+1);

}

return(str);

}

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

ELE ESTA FUNAIONANDO PERFEITAMENTO

MAS VOCÊ DEVE DIGITAR ELE NO MODO CORRETO ..

EX.: xx.xxx.xxx/xxx-xx

Ou então colocar uma máscara de entrada no input !!

Dai funciona também !!

Falow !!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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