Código de PHP - Verificar cuenta bancaria con IBAN en PHP

Versión 1.0

Publicado el 12 de Abril del 2018gráfica de visualizaciones de la versión: Versión 1.0
4.192 visualizaciones desde el 12 de Abril del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
/**
 * Funcion para verificar si una cuenta IBAN es correcta
 * @param string $iban
 * @return boolean
 */
function checkIBAN($iban)
{
	if(strlen($iban)==24)
	{
		$digitoControl=getCodigoControl_IBAN(strtoupper(substr($iban,0,2)), substr($iban,4));
		if($digitoControl==substr($iban,2,2))
			return true;
	}
	return false;
}
 
/**
 * Funcion que devuelve el codigo de verificacion de una cuenta bancaria
 * @param string $codigoPais los dos primeros caracteres del IBAN
 * @param string $cc la cuenta corriente, que son los ultimos 20 caracteres del IBAN
 * @return string devuelve el codigo de control
 */
function getCodigoControl_IBAN($codigoPais,$cc)
{
	// cada letra de pais tiene un valor
	$valoresPaises = array(
		'A' => '10',
		'B' => '11',
		'C' => '12',
		'D' => '13',
		'E' => '14',
		'F' => '15',
		'G' => '16',
		'H' => '17',
		'I' => '18',
		'J' => '19',
		'K' => '20',
		'L' => '21',
		'M' => '22',
		'N' => '23',
		'O' => '24',
		'P' => '25',
		'Q' => '26',
		'R' => '27',
		'S' => '28',
		'T' => '29',
		'U' => '30',
		'V' => '31',
		'W' => '32',
		'X' => '33',
		'Y' => '34',
		'Z' => '35'
	);
 
	// reemplazamos cada letra por su valor numerico y ponemos los valores mas dos ceros al final de la cuenta
	$dividendo = $cc.$valoresPaises[substr($codigoPais,0,1)].$valoresPaises[substr($codigoPais,1,1)].'00';
 
	// Calculamos el modulo 97 sobre el valor numerico y lo restamos de 98
	// Utilizamos bcmod para poder realizar el calculo, ya que un int sobre 32 bits no puede gestionar tantos numeros
	$digitoControl = 98 - bcmod($dividendo, '97');
 
	// Si el digito de control es un solo numero, añadimos un cero al delante
	if(strlen($digitoControl)==1)
	{
		$digitoControl = '0'.$digitoControl;
	}
	return $digitoControl;
}
 
if(checkIBAN("ES000000000000000000000"))
{
	echo "La cuenta es correcta";
}else{
	echo "La cuenta NO es correcta";
}
?>



Comentarios sobre la versión: Versión 1.0 (0)


No hay comentarios
 

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4547