Posted By

lcamprubi on 03/14/14


Tagged


Versions (?)

Validar compte corrent


 / 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: 14+28+35+410+59+67+73+86=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:01+12+24+38+45+510+69+77+83+96=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

  1. <!DOCTYPE>
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Calcular dígit de control</TITLE>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <style type="text/css">
  7. body{font-family:Verdana;}
  8. .form-field {
  9. font-family:Verdana;
  10. clear: both;
  11. padding: 10px;
  12. width: 350px;
  13. }
  14. .form-field label {
  15. float: left;
  16. width: 150px;
  17. text-align: right;
  18. }
  19. .form-field input {
  20. float: right;
  21. width: 150px;
  22. text-align: left;
  23. }
  24. #submit {
  25. font-family:Verdana;
  26. text-align: center;
  27. }
  28. </style>
  29.  
  30. </HEAD>
  31. <BODY>
  32. <?php
  33.  
  34. if (isset($_REQUEST['Calcular'])){
  35. $entidad=$_REQUEST['entidad'];
  36. $oficina=$_REQUEST['oficina'];
  37. $cuenta =$_REQUEST['cuenta'];
  38.  
  39. //omplir 0 a l'esquerra
  40. $entidad=str_pad($entidad,4,"0",STR_PAD_LEFT);
  41. $oficina=str_pad($oficina,4,"0",STR_PAD_LEFT);
  42. $cuenta=str_pad($cuenta,10,"0",STR_PAD_LEFT);
  43. $cuenta1=$cuenta;
  44. $entidad1=$entidad;
  45. $oficina1=$oficina;
  46.  
  47.  
  48. // Primera xifra de control ------------------------------
  49. $entidad=str_split($entidad);
  50. $ent0=$entidad[0]*4;
  51. $ent1=$entidad[1]*8;
  52. $ent2=$entidad[2]*5;
  53. $ent3=$entidad[3]*10;
  54.  
  55. $oficina=str_split($oficina);
  56. $ofi0=$oficina[0]*9;
  57. $ofi1=$oficina[1]*7;
  58. $ofi2=$oficina[2]*3;
  59. $ofi3=$oficina[3]*6;
  60.  
  61. $suma=$ent0+$ent1+$ent2+$ent3+$ofi0+$ofi1+$ofi2+$ofi3."<br/>";
  62. $modulo=$suma%11;
  63. $dig1=11-$modulo;
  64. if($dig1==10){
  65. $dig1=1;
  66. }elseif($dig1==11){
  67. $dig1=0;
  68. }
  69.  
  70. // Segona xifra de control
  71. $cuenta=str_split($cuenta);
  72. $cue0=$cuenta[0]*1;
  73. $cue1=$cuenta[1]*2;
  74. $cue2=$cuenta[2]*4;
  75. $cue3=$cuenta[3]*8;
  76. $cue4=$cuenta[4]*5;
  77. $cue5=$cuenta[5]*10;
  78. $cue6=$cuenta[6]*9;
  79. $cue7=$cuenta[7]*7;
  80. $cue8=$cuenta[8]*3;
  81. $cue9=$cuenta[9]*6;
  82. $cue_sum=$cue0+$cue1+$cue2+$cue3+$cue4+$cue5+$cue6+$cue7+$cue8+$cue9;
  83. $cue_mod=$cue_sum%11;
  84. $dig2=11-$cue_mod;
  85. if($dig2==10){
  86. $dig2=1;
  87. }elseif($dig2==11){
  88. $dig2=0;
  89. }
  90. echo "Al compte li correspon el dígit de control: $dig1$dig2 <BR/>";
  91. echo "$entidad1 - $oficina1 - $dig1$dig2 - $cuenta1";
  92. echo "<br/>";
  93. echo "<A href='compte.php'> Validar</A><BR/>";
  94.  
  95. } else {
  96.  
  97. ?>
  98. <h1>Càlcul de dígit de control de compte corrent</h1>
  99. <FORM action="compte.php" method="post">
  100.  
  101. <FIELDSET><LEGEND>Compte</LEGEND>
  102. <div class="form-field">
  103. <label for="Entitat">Entitat</label>
  104. <INPUT type="number" name="entidad" title="Nº entitat 4 xifres" required pattern="\d{4}"size="4" maxlength="4"/>
  105. </div>
  106. <div class="form-field">
  107. <label for="Oficina">Oficina</label>
  108. <INPUT type="number" name="oficina" title="Nº oficina 4 xifres" required pattern="\d{4}"size="4" maxlength="4"/>
  109. </div>
  110.  
  111. <div class="form-field">
  112. <label for="Nº Compte">Nº Compte</label>
  113. <INPUT type="number" name="cuenta" title="Nº oficina 10 xifres" required pattern="\d{10}" size="10" maxlength="10"/>
  114. </div>
  115. <INPUT type="submit" value="Calcular" name="Calcular" />
  116.  
  117. </FIELDSET>
  118. </FORM>
  119. <?php
  120. }
  121. ?>
  122. </BODY>
  123. </HTML>

Report this snippet  

Comments

RSS Icon Subscribe to comments
Posted By: lcamprubi on March 14, 2014

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: 14+28+35+410+59+67+73+86=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:01+12+24+38+45+510+69+77+83+96=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

You need to login to post a comment.