Après avoir regarder du côté de wikipédia, j’ai pu construire la fonction de Luhn permettant entre autre de vérifier des numéros de carte bancaire.
//Fonction algorithme de Luhn function isLuhnNum($num) { //longueur de la chaine $num $length = strlen($num); //resultat de l'addition de tous les chiffres $tot = 0; for($i=$length-1;$i>=0;$i--) { $digit = substr($num, $i, 1); if ((($length - $i) % 2) == 0) { $digit = $digit*2; if ($digit>9) { $digit = $digit-9; } } $tot += $digit; } return (($tot % 10) == 0); }
Merci à Andras pour sa précision 😉
Laisser un commentaire