/ Published in: PHP
http://developermobilesweb.blogspot.com.es/2014/03/validar-compte-corrent.html
Un compte corrent està format per 4 números que representen l'entitat bancà ria, 4 números que corresponen a la sucursal i 10 números que corresponen al número de compte. A part tenim 2 dÃgits de control, que es calculen a partir de l'entitat i la sucursal per primer dÃgit i amb el número de compte per segon dÃgit
Per exemple
1234 5678 XY 0123456789
El dÃgit de control per aquesta compte seria el 01
Per validar el primer dÃgit de control, es multiplica el número d'entitat i de sucursal, cadascuna de les seves xifres per 4,8,5,10 i 9,7,3,6 i se sumen els resultats.
Dividim la suma entre 11 i ens quedem amb el mòdul.
Restem 11 al resultat anterior
Si el nombre resultant és 11, el dÃgit de control serà 0, i si és 10, serà 1.
En el nostre exemple farÃem: 1*4+2*8+3*5+4*10+5*9+6*7+7*3+8*6=231. Calculem el módul de 11, és a dir el mòdul resultant de dividir 231 entre 11.
Ens dòna 0 i aleshores restem 11: 11-0 = 11 per tant el primer dÃgit de control és 0
Per validar el número de compte, es multiplica cadascuna de les seves xifres per 1,2, 4,8,5,10,9,7,3,6 i se sumen els resultats.
Es resta 11 a la xifra resultant de posar en mòdul 11 el resultat de la suma anterior
Si el nombre resultant és 11, el dÃgit de control serà 0, i si és 10, serà 1.
En el nostre exemple farÃem:0*1+1*2+2*4+3*8+4*5+5*10+6*9+7*7+8*3+9*6=285.
Calculem el módul de 11, és a dir el mòdul resultant de dividir 285 entre 11.
Ens dòna 10 i aleshores restem 11: 11-10 = 1 per tant el segon dÃgit de control és 0
Un compte corrent està format per 4 números que representen l'entitat bancà ria, 4 números que corresponen a la sucursal i 10 números que corresponen al número de compte. A part tenim 2 dÃgits de control, que es calculen a partir de l'entitat i la sucursal per primer dÃgit i amb el número de compte per segon dÃgit
Per exemple
1234 5678 XY 0123456789
El dÃgit de control per aquesta compte seria el 01
Per validar el primer dÃgit de control, es multiplica el número d'entitat i de sucursal, cadascuna de les seves xifres per 4,8,5,10 i 9,7,3,6 i se sumen els resultats.
Dividim la suma entre 11 i ens quedem amb el mòdul.
Restem 11 al resultat anterior
Si el nombre resultant és 11, el dÃgit de control serà 0, i si és 10, serà 1.
En el nostre exemple farÃem: 1*4+2*8+3*5+4*10+5*9+6*7+7*3+8*6=231. Calculem el módul de 11, és a dir el mòdul resultant de dividir 231 entre 11.
Ens dòna 0 i aleshores restem 11: 11-0 = 11 per tant el primer dÃgit de control és 0
Per validar el número de compte, es multiplica cadascuna de les seves xifres per 1,2, 4,8,5,10,9,7,3,6 i se sumen els resultats.
Es resta 11 a la xifra resultant de posar en mòdul 11 el resultat de la suma anterior
Si el nombre resultant és 11, el dÃgit de control serà 0, i si és 10, serà 1.
En el nostre exemple farÃem:0*1+1*2+2*4+3*8+4*5+5*10+6*9+7*7+8*3+9*6=285.
Calculem el módul de 11, és a dir el mòdul resultant de dividir 285 entre 11.
Ens dòna 10 i aleshores restem 11: 11-10 = 1 per tant el segon dÃgit de control és 0
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
<!DOCTYPE> <HTML> <HEAD> <TITLE>Calcular dÃgit de control</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> body{font-family:Verdana;} .form-field { font-family:Verdana; clear: both; padding: 10px; width: 350px; } .form-field label { float: left; width: 150px; text-align: right; } .form-field input { float: right; width: 150px; text-align: left; } #submit { font-family:Verdana; text-align: center; } </style> </HEAD> <BODY> <?php $entidad=$_REQUEST['entidad']; $oficina=$_REQUEST['oficina']; $cuenta =$_REQUEST['cuenta']; //omplir 0 a l'esquerra $cuenta1=$cuenta; $entidad1=$entidad; $oficina1=$oficina; // Primera xifra de control ------------------------------ $ent0=$entidad[0]*4; $ent1=$entidad[1]*8; $ent2=$entidad[2]*5; $ent3=$entidad[3]*10; $ofi0=$oficina[0]*9; $ofi1=$oficina[1]*7; $ofi2=$oficina[2]*3; $ofi3=$oficina[3]*6; $suma=$ent0+$ent1+$ent2+$ent3+$ofi0+$ofi1+$ofi2+$ofi3."<br/>"; $modulo=$suma%11; $dig1=11-$modulo; if($dig1==10){ $dig1=1; }elseif($dig1==11){ $dig1=0; } // Segona xifra de control $cue0=$cuenta[0]*1; $cue1=$cuenta[1]*2; $cue2=$cuenta[2]*4; $cue3=$cuenta[3]*8; $cue4=$cuenta[4]*5; $cue5=$cuenta[5]*10; $cue6=$cuenta[6]*9; $cue7=$cuenta[7]*7; $cue8=$cuenta[8]*3; $cue9=$cuenta[9]*6; $cue_sum=$cue0+$cue1+$cue2+$cue3+$cue4+$cue5+$cue6+$cue7+$cue8+$cue9; $cue_mod=$cue_sum%11; $dig2=11-$cue_mod; if($dig2==10){ $dig2=1; }elseif($dig2==11){ $dig2=0; } echo "Al compte li correspon el dÃgit de control: $dig1$dig2 <BR/>"; echo "$entidad1 - $oficina1 - $dig1$dig2 - $cuenta1"; echo "<br/>"; echo "<A href='compte.php'> Validar</A><BR/>"; } else { ?> <h1>Cà lcul de dÃgit de control de compte corrent</h1> <FORM action="compte.php" method="post"> <FIELDSET><LEGEND>Compte</LEGEND> <div class="form-field"> <label for="Entitat">Entitat</label> <INPUT type="number" name="entidad" title="Nº entitat 4 xifres" required pattern="\d{4}"size="4" maxlength="4"/> </div> <div class="form-field"> <label for="Oficina">Oficina</label> <INPUT type="number" name="oficina" title="Nº oficina 4 xifres" required pattern="\d{4}"size="4" maxlength="4"/> </div> <div class="form-field"> <label for="Nº Compte">Nº Compte</label> <INPUT type="number" name="cuenta" title="Nº oficina 10 xifres" required pattern="\d{10}" size="10" maxlength="10"/> </div> <INPUT type="submit" value="Calcular" name="Calcular" /> </FIELDSET> </FORM> <?php } ?> </BODY> </HTML>