Como Calcular el Digito de Control de una Cuenta Corriente en PHP


Vamos a ver como calcular ese digito de Control para validar numeros de Cuentas Corrientes. Quizas a muchos no les sirva para nada, pero quien tenga que programar este control, le podra venir de perlas

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;

Y para acabar, ponemos un ejemplo de formulario para poder usar estos ejemplo:

Cuenta Corriente:

Entidad(cc1)
Oficina(cc2)
Control(cc3)
NºCuenta(cc4)

Nota:
Podeis emplear algo de JavaScript para comprobar que los valores del formulario tienen datos, pero eso os lo dejo a vosotros.

Podeis encontrar mas información en:

  • http://www.grupoalbor.com/Ideas/IdeasD/Delphi4.htm
  • http://www.abanfin.com/dirfinan/negociacion/ccc.htm
  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1396 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.