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
<!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 if (isset($_REQUEST['Calcular'])){ $entidad=$_REQUEST['entidad']; $oficina=$_REQUEST['oficina']; $cuenta =$_REQUEST['cuenta']; //omplir 0 a l'esquerra $entidad=str_pad($entidad,4,"0",STR_PAD_LEFT); $oficina=str_pad($oficina,4,"0",STR_PAD_LEFT); $cuenta=str_pad($cuenta,10,"0",STR_PAD_LEFT); $cuenta1=$cuenta; $entidad1=$entidad; $oficina1=$oficina; // Primera xifra de control ------------------------------ $entidad=str_split($entidad); $ent0=$entidad[0]*4; $ent1=$entidad[1]*8; $ent2=$entidad[2]*5; $ent3=$entidad[3]*10; $oficina=str_split($oficina); $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 $cuenta=str_split($cuenta); $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>
Cap comentari:
Publica un comentari a l'entrada