martes, 23 de octubre de 2012

Validar cuenta corriente bancaria con Javascript

Dentro de la colección de funciones de validación en Javascript le toca el turno a la validación de una cuenta corriente bancaria:



function validaCCC(val){
    var banco = val.substring(0,4);
    var sucursal = val.substring(4,8);
    var dc = val.substring(8,10);
    var cuenta=val.substring(10,20);
    var CCC = banco+sucursal+dc+cuenta;
    if (!/^[0-9]{20}$/.test(banco+sucursal+dc+cuenta)){
        return false;
    }
    else
    {
        valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
        control = 0;
        for (i=0; i<=9; i++)
        control += parseInt(cuenta.charAt(i)) * valores[i];
        control = 11 - (control % 11);
        if (control == 11) control = 0;
        else if (control == 10) control = 1;
        if(control!=parseInt(dc.charAt(1))) {
            return false;
        }
        control=0;
        var zbs="00"+banco+sucursal;
        for (i=0; i<=9; i++)
            control += parseInt(zbs.charAt(i)) * valores[i];
        control = 11 - (control % 11);
        if (control == 11) control = 0;
            else if (control == 10) control = 1;
        if(control!=parseInt(dc.charAt(0))) {
            return false;
        }
        return true;
    }
}
Su utilización muy sencilla, se hace la llamada a la función pasándola como parámetro la cuenta completa a validar (banco+sucursal+ dígito de control+cuenta) y devolverá true (correcto) o false (incorrecto).
validaCCC("XXXXXXXXXXXXXX");

No hay comentarios :

Publicar un comentario