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

Adaptação Em Função Do Jissa Que Valida Cnpj


rfp

Pergunta

Eu estava precisando de um código de verificação do CNPJ, dai eu pesquisei aqui no fórum e encontrei um que acho que foi o Jissa quem postou, mas esse código verificava CNPJ e CPF, como eu só precisava verifcar o CNPJ eu adaptei, peguei somente a parte do código que verificava o CPNJ, mas agora eu não estou conseguindo fazer funcionar, olhem o código:

<script LANGUAGE="JavaScript">

<!-- // pra browsers sem suporte a java script

function check_cgc (StrCGC)

{

var varFirstChr = StrCGC.charAt(0);

var vlMult,vlControle,s1, s2 = "";

var i,j,vlDgito,vlSoma = 0;

for ( var i=0; i<=13; i++ ) {

var c = StrCGC.charAt(i);

if( ! (c>="0")&&(c<="9") )

{

alert("Número do CGC Inválido !");

document.formulario.campo.focus();

return false; }

if( c!=varFirstChr ) { vaCharCGC = true; }

}

if( ! vaCharCGC ) {

alert("Número do CGC Inválido !");

document.formulario.campo.focus();

return false;

}

s1 = StrCGC.substring(0,12);

s2 = StrCGC.substring(12,15);

vlMult = "543298765432";

vlControle = "";

for ( j=1; j<3; j++ ) {

vlSoma = 0;

for ( i=0; i<12; i++ )

{ vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );}

if( j == 2 ){ vlSoma += (2 * vlDgito); }

vlDgito = ((vlSoma*10) % 11);

if( vlDgito == 10 ){ vlDgito = 0; }

vlControle = vlControle + vlDgito;

vlMult = "654329876543";

}

if( vlControle != s2 ) {

alert("Número do CGC Inválido !");

document.formulario.campo.focus();

return false;

return false;

}

else {

// alert("Número do CGC Válido !");

return true;

}

}

//-->

</SCRIPT>

Estou colocando este código entre os <head></head>, e coloquei no onclick do botão assim onClick="return check_cgc()"

Por favor alguém poderia me ajudar?

O que pode estar acontecendo?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

tenta este aqui:

<html><head><title></title>
<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>

</head>

<body>


<form>
  Digite aqui o CPF:
  <input type='text' name='CPF' onFocus='this.select()' size="20">
  <input type='button' value='VALIDA' onClick="TESTA(document.forms[0].CPF.value, 'CPF');"><br>
  Digite aqui o CNPJ:
  <input type='text' name='CNPJ' onFocus='this.select()' size="20">
  <input type='button' value='VALIDA' onClick="TESTA(document.forms[0].CNPJ.value, 'CNPJ');">
</form>
<br>
<br>
</body></html>

Link para o comentário
Compartilhar em outros sites

  • 0

Então o seu código está certo, o que eu não estou conseguindo fazer é adaptá-lo ao meu formulário, quando eu clico em enviar se o CNPJ não estiver correto ele não faz nada, nem exibe a mensagem de CNPJ inválido.

Estou fazendo da seguinte forma:

Estou colocando esse código que você me passou entreos <head></head>

dai no formulário eu tenho vários campos

e um input type submit assim:

<input type="submit" value="Enviar" onClick="TESTA(document.forms[0].CNPJ.value, 'CNPJ');">

Você sabe o que pode estar acontecendo?

Obs: Tem como fazer uma máscara, para o usuário digitar somente no formato que eu definir?

Assim por exemplo: 99.999.999/9999-99

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,3k
    • Posts
      652,6k
×
×
  • Criar Novo...