Return to Snippet

Revision: 66097
at March 14, 2014 05:12 by lcamprubi


Updated Code
<!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>

Revision: 66096
at March 14, 2014 04:34 by lcamprubi


Updated Code
<!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'];
	
	    // Omplim de zeros la part 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;
		
		
		// Calcul de la primera xifra ------------------------------
		$entidad=str_split($entidad);	// converteix un string a array
		$ent0=$entidad[0]*4;
		$ent1=$entidad[1]*8;
		$ent2=$entidad[2]*5;
		$ent3=$entidad[3]*10;
		
		$oficina=str_split($oficina);	// converteix un string a array
		$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;			
		}
		
		// Calcul de la segona xifra ------------------------------
		$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º d'entitat  4 dígits" 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º de oficina 4 d&iacute;gits" 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º de compte 10 d&iacute;gits" required pattern="\d{10}" size="10" maxlength="10"/>
			</div>
			<input type="submit" value="calcular" name="calcular" />
	
	</fieldset>
	</form>	
	<?php 	
	} 	
	?>	
	</body>
</html>

Revision: 66095
at March 14, 2014 04:29 by lcamprubi


Initial Code
<!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'];
	
	    // Omplim de zeros la part 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;
		
		
		// Calcul de la primera xifra ------------------------------
		$entidad=str_split($entidad);	// converteix un string a array
		$ent0=$entidad[0]*4;
		$ent1=$entidad[1]*8;
		$ent2=$entidad[2]*5;
		$ent3=$entidad[3]*10;
		
		$oficina=str_split($oficina);	// converteix un string a array
		$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;			
		}
		
		// Calcul de la segona xifra ------------------------------
		$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º d'entitat  4 dígits" 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º de oficina 4 d&iacute;gits" 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º de compte 10 d&iacute;gits" required pattern="\d{10}" size="10" maxlength="10"/>
			</div>
			<input type="submit" value="calcular" name="calcular" />
	
	</fieldset>
	</form>	
	<?php 	
	} 	
	?>	
	</body>
</html>

Initial URL


Initial Description
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

Initial Title
Validar compte corrent

Initial Tags


Initial Language
PHP