Archivo de la etiqueta: programación

Validar CBU en Javascript

Hace un tiempo me vi con la necesidad de hacer una validación de CBU. Para quienes no lo saben, el CBU es la Clave Bancaria Unificada es un número que identifica la cuenta, el banco y la sucursal. Es un elemento necesario para realizar transferencia inequívocas entre personas y/o empresas.

Validar en CBU se puede hacer tanto en el servidor como en el cliente. En éste caso, lo hice en Javascript para que se ejecute en el navegador del cliente.

Se los adjunto, debajo tengo las fuentes que me ayudaron a realizar el código en éste lenguaje.

if (document.Form.CBU.value.length < 22){
alert('Por favor, ingrese el CBU correctamente');
return false;
}

var cbu;
cbu = document.Form.CBU.value;

var ponderador;
ponderador = ’97139713971397139713971397139713′;

var i;
var nDigito;
var nPond;
var bloque1;
var bloque2;

var nTotal;
nTotal = 0;

bloque1 = ’0′ + cbu.substring(0,7)

for(i=0;i<=7;i++)
{
nDigito = bloque1.charAt(i)
nPond = ponderador.charAt(i)
nTotal = nTotal + (nPond * nDigito) – ((Math.floor(nPond * nDigito / 10)) * 10)
}

i=0;

while( ((Math.floor((nTotal+i)/10))*10) != (nTotal + i) )
{
i = i + 1;
}

// i = digito verificador

if (cbu.substring(7,8) != i){
alert(‘Por favor, ingrese un CBU válido’)
return false;
}

nTotal = 0;

bloque2 = ’000′ + cbu.substring(8,21)

for(i=0;i<=15;i++)
{
nDigito = bloque2.charAt(i)
nPond = ponderador.charAt(i)
nTotal = nTotal + (nPond * nDigito) – ((Math.floor(nPond * nDigito / 10)) * 10)
}

i=0;

while( ((Math.floor((nTotal+i)/10))*10) != (nTotal + i) )
{
i = i + 1;
}

// i = digito verificador

if (cbu.substring(21,22) != i){
alert(‘Por favor, ingrese un CBU válido’)
return false;
}

Fuentes

http://www.latiumsoftware.com/es/pascal/0049.php#6

http://www.portalfox.com/index.php?name=News&file=article&sid=444&mode=nested&order=0&thold=0