Validateur de l'algorithme de Luhn
Comment fonctionne l'algorithme de Luhn
- En partant du chiffre le plus à droite, doublez un chiffre sur deux.
- Si le doublement donne un nombre supérieur à 9, soustrayez 9 (l'équivalent de l'addition des deux chiffres).
- Additionnez tous les chiffres (doublés et inchangés).
- Si le total est divisible par 10, le numéro est valide.
Exemple : 79927398713 passe la vérification — les chiffres traités totalisent 70.
Modifiez un seul chiffre et la somme ne sera plus divisible par 10.
Implémentation
JavaScript
function isValidLuhn(number) {
const digits = number.replace(/\D/g, '');
let sum = 0;
let double = false;
for (let i = digits.length - 1; i >= 0; i--) {
let digit = Number(digits[i]);
if (double) {
digit *= 2;
if (digit > 9) digit -= 9;
}
sum += digit;
double = !double;
}
return sum % 10 === 0;
}
Python
def is_valid_luhn(number: str) -> bool:
digits = [int(c) for c in number if c.isdigit()]
total = 0
for index, digit in enumerate(reversed(digits)):
if index % 2 == 1:
digit *= 2
if digit > 9:
digit -= 9
total += digit
return total % 10 == 0
Luhn ne suffit pas
Un numéro peut passer Luhn et rester invalide : le BIN peut ne pas exister, la longueur peut être erronée pour le réseau, ou la carte peut simplement ne jamais avoir été émise. Luhn ne détecte que les erreurs accidentelles, comme les fautes de frappe. Pour une vérification complète, combinez-le avec le vérificateur BIN, et pour des numéros d'entraînement, utilisez le générateur de cartes.
Outils gratuits pour tester les paiements
Générateur de cartes de crédit
Générez des cartes de test à partir de n'importe quel BIN
Générateur avancé
Motifs avec jokers et génération en masse
Numéros de carte de test
Numéros officiels issus de la documentation des passerelles
Validateur Luhn
Vérifiez si un numéro de carte est valide
Vérificateur BIN
Identifiez le réseau de la carte à partir du BIN
Générateur Visa
Numéros de test Visa commençant par 4
Générateur Mastercard
Numéros de test Mastercard 51–55 / 2221–2720
Générateur Amex
Numéros de test American Express à 15 chiffres
Générateur Discover
Numéros de test Discover 6011 / 65
Calculateur d'intérêts
Estimez les intérêts de votre carte
Calculateur de remboursement
Planifiez votre remboursement mensuel
Articles
Guides et tutoriels sur les tests de paiement