Validación de los números de cuenta

Valoración del artículo:
Cómo validar los números de cuenta tanto nacionales como internacionales.
Publicado: 24/5/06
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Validación del CCC (Código Cuenta Cliente):

  1. Para validar el Código de banco y de sucursal, se multiplica, cada una de sus cifras por 4,8,5,10 y 9,7,3,6 y se suman los resultados.
  2. Se resta 11 a la cifra resultante de poner en módulo 11 el resultado de la suma anterior
  3. Si el numero resultante es 11, el dígito de control será 0, y si es 10, será 1.
    El resultado de esta operación debería coincidir con el primer dígito de control.
  4. Para validar el número de cuenta, se multiplica cada una de sus cifras por 1,2, 4,8,5,10,9,7,3,6 y se suman los resultados.
  5. Se resta 11 a la cifra resultante de poner en módulo 11 el resultado de la suma anterior
  6. Si el numero resultante es 11, el dígito de control será 0, y si es 10, será 1.

El resultado de esta operación debería coincidir con el segundo dígito de control.

Ejemplo en PHP:

function esCorrecto(numeroCuenta){
valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
controlCS,controlCC = 0;
for (i=0; i<=7; i++)
controlCS += parseInt(numeroCuenta.charAt(i)) * valores[i+2];
controlCS = 11 - (controlCS % 11);
if (controlCS == 11) controlCS = 0;
else if (controlCS == 10) controlCS = 1;

for (i=10; i<=19; i++)
controlCC += parseInt(numeroCuenta.charAt(i)) * valores[i-10];
controlCC = 11 - (controlCC % 11);
if (controlCC == 11) controlCC = 0;
else if (controlCC == 10) controlCC = 1;

if (numeroCuenta.charAt(8)==controlCS && numeroCuenta.charAt(9)==controlCC ) {
return true;
}else{
return false;
}

}

Validación de dígito de control IBAN:

A continuación vamos a validar el dígito de control de un número de cuenta de un cliente de Bélgica. Como podemos ver en la tabla de códigos de cuenta, el formato para este país es:

BE XX seguido de un número de 12 dígitos, siendo XX los dos dígitos de control. El mecanismo que habrá que realizar es el siguiente:

  1. Mover los cuatro primeros caracteres del número IBA a la derecha:
    Ej: BE89 9999 9999 9999 -> 999999999999BE89
  2. Convertir las letras a números según la siguiente tabla:
    A=10G=16M=22 S=28Y=34
    B=11H=17N=23 T=29Z=35
    C=12I=18O=24U=30
    D=13J=19P=25V=31
    E=14K=20Q=26W=32
    F=15L=21R=27X=33

    Ej: 999999999999BE89 -> 999999999999111489
  3. Sobre el número resultante, calcular el módulo 97, si el resultado es correcto, la operación dará como resultado 1.

Generación del dígito de control IBAN:

  1. Componer el código IBAN de cuenta con dos dígito de control 0.
    Ej: IBAN BEXX 9999-9999-9999 -> BE00999999999999
  2. Mover los cuatro primeros caracteres del número a la derecha.
    Ej: BE00999999999999 -> 999999999999BE00
  3. Convertir las letras en caracteres numéricos de acuerdo con la tabla de conversión.
    Ej: 999999999999BE00 ->999999999999111400
  4. Aplicar la operación módulo 97 y eliminar al resultado 98. Si el resultado consta de sólo un dígito, insertar un cero a la izquierda.
    Ej: 98 - 9 = 89; IBAN = BE89999999999999

Comentarios
Fueron enviados 4 comentarios al artículo
3 comentarios no revisados
1 comentario revisado:
Por: CarCar
26/10/06
En el apartado en el que se explica como se calculan los dígitos de control del IBAN se dice:

4. Aplicar la operación módulo 97 y eliminar al resultado 98. Si el resultado consta de sólo un dígito, insertar un cero a la izquierda.
Ej: 98 - 9 = 89; IBAN = BE89999999999999

El ejemplo es correcto, pero la definición no. Mejor quedaría asi:

4. Aplicar la operación módulo 97 y restar al número 98, el valor obtenido. Si el resultado consta de sólo un dígito, insertar un cero a la izquierda.

Manuales relacionados
Categorias relacionadas
El autor
Últimas noticias
Alojados en el grupo