Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kklo

Retirar aviso

Recommended Posts

 

<html>
<body>

<script language="javascript">
function ValidaCNPJ(cnpj) {

  var i = 0;
  var l = 0;
  var strNum = "";
  var strMul = "6543298765432";
  var character = "";
  var iValido = 1;
  var iSoma = 0;
  var strNum_base = "";
  var iLenNum_base = 0;
  var iLenMul = 0;
  var iSoma = 0;
  var strNum_base = 0;
  var iLenNum_base = 0;

  if (cnpj == "")
    return false;

  l = cnpj.length;
  for (i = 0; i < l; i++) {
    caracter = cnpj.substring(i,i+1)
    if ((caracter >= '0') && (caracter <= '9'))
       strNum = strNum + caracter;
  };

  if(strNum.length != 14)
    return false;

  strNum_base = strNum.substring(0,12);
  iLenNum_base = strNum_base.length - 1;
  iLenMul = strMul.length - 1;
  for(i = 0;i < 12; i++)
    iSoma = iSoma +
            parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) *
            parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10);

  iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11);
  if(iSoma == 11 || iSoma == 10)
    iSoma = 0;

  strNum_base = strNum_base + iSoma;
  iSoma = 0;
  iLenNum_base = strNum_base.length - 1
  for(i = 0; i < 13; i++)
    iSoma = iSoma +
            parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) *
            parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10)

  iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11);
  if(iSoma == 11 || iSoma == 10)
    iSoma = 0;
  strNum_base = strNum_base + iSoma;
  if(strNum != strNum_base) {
    return false
  }else{
    return true;
  }
}

window.onload = function (){
  var cnpj = document.getElementById('cnpj');

  cnpj.onblur = function(){
    var valid = ValidaCNPJ(this.value);
    if(valid == false){
      alert("CNPJ invalido")
    }else{
      alert("CNPJ valido")
    }
  }
}
</script>


<form>
<b>Teste de CNPJ:</b>
<input type="text" name="cnpj" id="cnpj" value="">
</form>
</body>
</html>

 

Fiz uma alteração no código, coloquei uma variável que me retorna true ou false, aí fica mais fácil pra você manipular como quiser. Pegue o código de exemplo, salve como HTML e teste para você ver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!

 

Obrigado pela ajuda, mas o que eu queria é quando o cnpj estiver correto, não aparecer nada, seguir o preenchimento normal do cadastro, mas se tiver erro no preenchimento do cnpj, acusaria erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

basta remover o else ali.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.