Bugfix sur la translation des lettres en chiffres
This commit is contained in:
parent
3c51b7842c
commit
4d9a83a8e2
@ -43,25 +43,41 @@
|
||||
\return int true si les infos sont bonnes, false si la clé ne correspond pas
|
||||
*/
|
||||
|
||||
function verif_rib($code_banque , $code_guichet , $num_compte , $cle, $iban) {
|
||||
if (eregi("^FR",$iban)) { // Cas de la France
|
||||
$coef = array(62, 34, 3) ;
|
||||
// Concatenation des differents codes.
|
||||
$rib = strtolower($code_banque.$code_guichet.$num_compte.$cle);
|
||||
// On remplca les eventuelles lettres par des chiffres.
|
||||
$rib = strtr($rib, "abcdefghijklmnopqrstuvwxyz","12345678912345678912345678");
|
||||
|
||||
// Separation du rib en 3 groupes de 7 + 1 groupe de 2.
|
||||
// Multiplication de chaque groupe par les coef du tableau
|
||||
for ($i=0, $s=0; $i<3; $i++) {
|
||||
$code = substr($rib, 7 * $i, 7) ;
|
||||
$s += (0 + $code) * $coef[$i] ;
|
||||
}
|
||||
|
||||
// Soustraction du modulo 97 de $s à 97 pour obtenir la clé RIB
|
||||
$cle_rib = 97 - ($s % 97) ;
|
||||
if ($cle_rib == $cle) { return true; }
|
||||
return false;
|
||||
function verif_rib($code_banque , $code_guichet , $num_compte , $cle, $iban)
|
||||
{
|
||||
if (eregi("^FR",$iban))
|
||||
{ // Cas de la France
|
||||
|
||||
$coef = array(62, 34, 3) ;
|
||||
|
||||
// Concatenation des differents codes.
|
||||
$rib = strtolower(trim($code_banque).trim($code_guichet).trim($num_compte).trim($cle));
|
||||
|
||||
// On remplace les eventuelles lettres par des chiffres.
|
||||
|
||||
//Ne marche pas
|
||||
//$rib = strtr($rib, "abcdefghijklmnopqrstuvwxyz","12345678912345678912345678");
|
||||
|
||||
$rib = strtr($rib, "abcdefghijklmnopqrstuvwxyz","12345678912345678923456789");
|
||||
|
||||
print $rib;
|
||||
// Separation du rib en 3 groupes de 7 + 1 groupe de 2.
|
||||
// Multiplication de chaque groupe par les coef du tableau
|
||||
for ($i=0, $s=0; $i<3; $i++)
|
||||
{
|
||||
$code = substr($rib, 7 * $i, 7) ;
|
||||
$s += (0 + $code) * $coef[$i] ;
|
||||
}
|
||||
|
||||
// Soustraction du modulo 97 de $s à 97 pour obtenir la clé RIB
|
||||
$cle_rib = 97 - ($s % 97) ;
|
||||
|
||||
if ($cle_rib == $cle)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user