Amigos,
Les paso el código en javascript de la función un poco más simplificada que recomiendo que pasé de VB a javascript de un viejo código de la revista PCUsers:
Espero que me voten!!
Hice otra versión :
Actualización Sept 2012:
En esta edición corregí un error en la función basada en este mismo post donde decia "< 9" tenia que decir "<= 9"
Saludos y espero que me voten!!
Matias
Les paso el código en javascript de la función un poco más simplificada que recomiendo que pasé de VB a javascript de un viejo código de la revista PCUsers:
Espero que me voten!!
function validaCuit(sCUIT)
{
var aMult = '6789456789';
var aMult = aMult.split('');
var sCUIT = String(sCUIT);
var iResult = 0;
var aCUIT = sCUIT.split('');
if (aCUIT.length == 11)
{
// La suma de los productos
for(var i = 0; i <= 9; i++)
{
iResult += aCUIT[i] * aMult[i];
}
// El módulo de 11
iResult = (iResult % 11);
// Se compara el resultado con el dígito verificador
return (iResult == aCUIT[10]);
}
return false;
}
Hice otra versión :
function validaCuit(sCUIT)
{
var aMult = '5432765432';
var aMult = aMult.split('');
if (sCUIT && sCUIT.length == 11)
{
aCUIT = sCUIT.split('');
var iResult = 0;
for(i = 0; i <= 9; i++)
{
iResult += aCUIT[i] * aMult[i];
}
iResult = (iResult % 11);
iResult = 11 - iResult;
if (iResult == 11) iResult = 0;
if (iResult == 10) iResult = 9;
if (iResult == aCUIT[10])
{
return true;
}
}
return false;
}
Actualización Sept 2012:
En esta edición corregí un error en la función basada en este mismo post donde decia "< 9" tenia que decir "<= 9"
Saludos y espero que me voten!!
Matias