A função checkCNPJ() faz a checagem do CNPJ. Retorna true se estiver ok, ou false, caso contrário.
function getNumber( number , len )
{
var result = '';
var num, i;
{
var result = '';
var num, i;
for ( i = 0 ; i < number.length ; i++ )
{
try
{
num = parseInt( number.substring( i, i + 1 ) );
result += num;
}
catch (exception)
{ }
}
if ( result.length != len )
{
// Complet with zeros
result = '000000000000000' + result;
var newLen = result.length;
result = result.substring ( newLen - len , newLen );
}
return result;
}
function check1( value )
{
var count = 1;
var len = value.length;
var first;
if ( len > 1 )
{
first = value.charAt( 0 );
}
else
{
return false;
}
for ( var i = 1; i < value.length ; i++ )
{
if ( value.charAt( i ) == first )
{
count++;
}
}
{
try
{
num = parseInt( number.substring( i, i + 1 ) );
result += num;
}
catch (exception)
{ }
}
if ( result.length != len )
{
// Complet with zeros
result = '000000000000000' + result;
var newLen = result.length;
result = result.substring ( newLen - len , newLen );
}
return result;
}
function check1( value )
{
var count = 1;
var len = value.length;
var first;
if ( len > 1 )
{
first = value.charAt( 0 );
}
else
{
return false;
}
for ( var i = 1; i < value.length ; i++ )
{
if ( value.charAt( i ) == first )
{
count++;
}
}
if ( count == len )
{
return false;
}
return true;
}
function checkCNPJ( cnpj )
{
var cnpjCalc;
var cnpjAdd;
var i;
var cnpjDigit;
cnpj = getNumber( cnpj , 14 );
check1( cnpj );
{
return false;
}
return true;
}
function checkCNPJ( cnpj )
{
var cnpjCalc;
var cnpjAdd;
var i;
var cnpjDigit;
cnpj = getNumber( cnpj , 14 );
check1( cnpj );
// Get only numeric digits
cnpjCalc = cnpj.substring( 0 , 12 );
// First part of digit verification
cnpjAdd = 0;
for( i = 0 ; i < 4 ; i++ )
{
cnpjAdd += parseInt( cnpjCalc.substring( i , i + 1 ) ) * (5 - i);
}
cnpjCalc = cnpj.substring( 0 , 12 );
// First part of digit verification
cnpjAdd = 0;
for( i = 0 ; i < 4 ; i++ )
{
cnpjAdd += parseInt( cnpjCalc.substring( i , i + 1 ) ) * (5 - i);
}
for( i = 0 ; i < 8 ; i++ )
{
cnpjAdd += parseInt( cnpjCalc.substring( i + 4 , i + 4 + 1 ) ) * (9 - i);
}
// Fisrt digit
cnpjDigit = 11 - (cnpjAdd % 11);
if ( cnpjDigit == 10 || cnpjDigit == 11 )
{
cnpjCalc += '0';
}
else
{
cnpjCalc += cnpjDigit;
}
// Second part of digit verification
cnpjAdd = 0;
for ( i = 0 ; i < 5 ; i++ )
{
cnpjAdd += parseInt( cnpjCalc.substring( i , i + 1 ) ) * (6 - i);
}
for ( i = 0 ; i < 8 ; i++ )
{
cnpjAdd += parseInt( cnpjCalc.substring( i + 5, i + 5 + 1 ) ) * (9 - i);
}
// Second digit
cnpjDigit = 11 - (cnpjAdd % 11);
if ( cnpjDigit == 10 || cnpjDigit == 11 )
{
cnpjCalc += '0';
}
else
{
cnpjCalc += cnpjDigit;
}
return ( cnpj == cnpjCalc );
}
{
cnpjAdd += parseInt( cnpjCalc.substring( i + 4 , i + 4 + 1 ) ) * (9 - i);
}
// Fisrt digit
cnpjDigit = 11 - (cnpjAdd % 11);
if ( cnpjDigit == 10 || cnpjDigit == 11 )
{
cnpjCalc += '0';
}
else
{
cnpjCalc += cnpjDigit;
}
// Second part of digit verification
cnpjAdd = 0;
for ( i = 0 ; i < 5 ; i++ )
{
cnpjAdd += parseInt( cnpjCalc.substring( i , i + 1 ) ) * (6 - i);
}
for ( i = 0 ; i < 8 ; i++ )
{
cnpjAdd += parseInt( cnpjCalc.substring( i + 5, i + 5 + 1 ) ) * (9 - i);
}
// Second digit
cnpjDigit = 11 - (cnpjAdd % 11);
if ( cnpjDigit == 10 || cnpjDigit == 11 )
{
cnpjCalc += '0';
}
else
{
cnpjCalc += cnpjDigit;
}
return ( cnpj == cnpjCalc );
}
--
Francisco Pinto Araújo Júnior
Diretor de Tecnologia - Softexport Informática
Msc. Ciência da Computação
SCPJ2
Fone/Fax: +55 85 458 1947
pinto@softexport.com.br
www.softexport.com.br
Francisco Pinto Araújo Júnior
Diretor de Tecnologia - Softexport Informática
Msc. Ciência da Computação
SCPJ2
Fone/Fax: +55 85 458 1947
pinto@softexport.com.br
www.softexport.com.br
Esta matéria foi postada originalmente no ASP4Developers por Francisco Pinto Araujo Junior (site), que na época era "Analista de Sistemas". Hoje, vai saber...
0 comentários:
Postar um comentário