Verificar DC de cuante bancaria
Buscando información acerca de la verificación de los Digitos de control de las cuentas bancarias me encontré con este articulo de bulma
Como ejemplo, cogeremos los datos de la cuenta de Asociación de Bulma que la tenemos en La Caixa:
Nombre de la Cuenta: ASOCIACION BULMA
Numero completo de la Cuenta: 2100-0150-63-0200455826
Que significa:
Entidad: 2100 La Caixa
Oficina: 0150 Santa Catalina
DC : 63
Cuenta : 0200455826
Primero de todo vamos a empezar creando la función en PHP que usaremos para validar los datos de la Cuenta Corriente:
Function CalculoCC($IentOfi,$InumCta)
{
$APesos = Array(1,2,4,8,5,10,9,7,3,6); // Array de “pesos”
$DC1=0;
$DC2=0;
$x=8;
while($x>0) {
$digito=$IentOfi[$x-1];
$DC1=$DC1+($APesos[$x+2-1]*($digito));
$x = $x - 1;
}
$Resto = $DC1%11;
$DC1=11-$Resto;
if ($DC1==10) $DC1=1;
if ($DC1==11) $DC1=0; // Dígito control Entidad-Oficina
$x=10;
while($x>0) {
$digito=$InumCta[$x-1];
$DC2=$DC2+($APesos[$x-1]*($digito));
$x = $x - 1;
}
$Resto = $DC2%11;
$DC2=11-$Resto;
if ($DC2==10) $DC1=1;
if ($DC2==11) $DC1=0; // Dígito Control C/C
$DigControl=($DC1).”".($DC2); // los 2 números del D.C.
return $DigControl;
}
Ahora ya tenemos la función hecha.
Para que funcione simplemente la llamaremos de la siguiente forma pasandole los parametros del formulario:
$parte1=$cc1.”".$cc2;
$parte2=$cc4;
$mensaje=”No es correcto los Datos Bancarios”;
$cc=”";
if (($cc1<>“”) && ($cc2<>“”) && ($cc3<>“”) && ($cc4<>“”) ){
$resultado=CalculoCC($parte1,$parte2);
if ($resultado==$cc3){
$mensaje=”Datos Bancarios Correctos”;
$cc=$cc1.”-”.$cc2.”-”.$cc3.”-”.$cc4;
}
}
echo $mensaje;
1485 comments Marzo 20th, 2006 Edit