Validateur de Numéro de Carte Bancaire | Algorithme de Luhn
Saisissez un numéro de carte bancaire pour vérifier sa clé de contrôle avec l'algorithme de Luhn et détecter automatiquement la marque (Visa, Mastercard, Amex, etc.). Pratique pour tester la validation de formulaires.
[[ labels.client_side_note ]]
[[ labels.result_label ]]
| [[ labels.formatted_label ]] | [[ result.formatted ]] |
|---|---|
| [[ labels.brand_label ]] | [[ brandName ]] [[ labels.brand_unknown ]] |
| [[ labels.checksum_label ]] | ✓ [[ labels.checksum_valid ]] ✗ [[ labels.checksum_invalid ]] |
Marques prises en charge et règles de détection (IIN et longueur)
| Marque | Chiffres de tête (IIN) | Longueur |
|---|---|---|
| Visa | 4 | 13, 16, 19 |
| Mastercard | 51–55, 2221–2720 | 16 |
| American Express | 34, 37 | 15 |
| Discover | 6011, 65 | 16 |
| JCB | 3528–3589 | 16 |
| Diners Club | 300–305, 36, 38 | 14 |
| UnionPay | 62 | 16–19 |
Ce que fait ce validateur de numéro de carte
Tout numéro de carte bancaire comporte à la fin une clé de contrôle destinée à repérer les fautes de saisie. En vérifiant la suite de chiffres à l’aide de l’algorithme de Luhn, on détecte la plupart des erreurs sur un chiffre isolé et des inversions entre chiffres voisins. Cet outil effectue cette vérification et déduit en outre la marque de la carte à partir des premiers chiffres et de la longueur.
L’essentiel est qu’il s’agit uniquement d’une validation de format. Même si la vérification de Luhn est satisfaite, le numéro ne correspond pas nécessairement à une carte existante, et il n’indique en rien si elle est utilisable. L’autorisation réelle passe obligatoirement par l’API d’un prestataire de paiement. Le numéro saisi est traité uniquement dans votre navigateur et n’est transmis nulle part.
Comment vérifier un numéro
- Saisissez le numéro Les espaces et les tirets sont supprimés automatiquement : vous pouvez donc coller tel quel le contenu copié.
- Consultez le résultat de la clé de contrôle Le résultat de l’algorithme de Luhn s’affiche comme valide ou invalide. S’il est invalide, une erreur s’est glissée dans les chiffres.
- Vérifiez la marque détectée La marque est déduite des premiers chiffres et de la longueur. Le tableau ci-dessous rappelle les conditions retenues.
- Testez le comportement avec un exemple Le bouton d’exemple insère un numéro de test, ce qui permet de vérifier le fonctionnement sans utiliser un numéro réel.
Astuces pour en tirer le meilleur parti
- Essayez les boutons d'exemple avec des numéros de test connus (ex. Visa : 4111 1111 1111 1111) plutôt qu'un numéro réel.
- Les espaces et tirets sont supprimés automatiquement, vous pouvez donc coller un numéro copié depuis n'importe où.
- Cet outil ne vérifie que le format via l'algorithme de Luhn. Pour une autorisation réelle ou une consultation de solde, utilisez l'API de votre prestataire de paiement.
- Lors du développement d'une validation de formulaire, utilisez cet outil pour générer un cas valide et un cas invalide afin de tester votre logique.
Quand ce validateur est utile
Développer la validation d’un formulaire
Comparez le verdict de votre propre validation à celui obtenu ici. Vous pouvez préparer aussi bien des cas corrects que des cas erronés.
Contrôler la logique de détection de marque
Le tableau montre quelle marque découle de chaque combinaison de premiers chiffres et de longueur, utile pour afficher la bonne icône de carte.
Isoler une faute de saisie
Lorsqu’un paiement échoue, vous pouvez d’abord vérifier si le format même du numéro est erroné, ce qui accélère le diagnostic.
Comprendre l’algorithme de Luhn
Modifiez un seul chiffre et vous verrez la validation basculer en invalide : le mécanisme devient très concret.
Termes liés aux numéros de carte
- Algorithme de Luhn
- Méthode de calcul vérifiant la cohérence d’une suite de chiffres. En partant de la droite, un chiffre sur deux est doublé, le tout est additionné et, si la somme est divisible par 10, le numéro est jugé valide.
- Clé de contrôle
- Chiffre ajouté à la fin pour détecter les fautes de saisie. Il se déduit par calcul des autres positions.
- IIN
- Numéro d’identification de l’émetteur figurant au début du numéro de carte. Il permet de distinguer la marque et l’établissement émetteur.
- Marque
- Marques internationales telles que Visa, Mastercard ou American Express. Elle se détermine par la combinaison des premiers chiffres et de la longueur.
- Autorisation
- Procédure vérifiant si la carte est réellement utilisable et si le plafond disponible suffit. Elle est totalement distincte de la validation de format.
Questions Fréquentes
Anecdote — Hans Peter Luhn, le Père de la Clé de Contrôle
La clé de contrôle située à la fin d'un numéro de carte bancaire est vérifiée grâce à un algorithme conçu en 1954 par l'ingénieur d'IBM Hans Peter Luhn. Il en obtint le brevet en 1960, mais celui-ci a expiré depuis longtemps : l'algorithme est aujourd'hui libre d'utilisation pour tous.
Le mécanisme est étonnamment simple. En partant du chiffre le plus à droite, un chiffre sur deux est doublé ; si le résultat comporte deux chiffres, on les additionne entre eux (par exemple 8×2=16 → 1+6=7). Si la somme de tous les chiffres est un multiple de 10, le numéro est considéré comme formellement valide.
Cet algorithme est utilisé bien au-delà des cartes bancaires : il détecte aussi les erreurs de frappe dans les numéros IMEI (qui identifient les smartphones) ou les numéros d'assurance sociale canadiens. Il faut garder à l'esprit que Luhn détecte uniquement les erreurs de saisie accidentelles ; il ne dit rien sur l'existence réelle de la carte ni sur son solde.
Les 6 à 8 premiers chiffres d'un numéro de carte forment l'IIN (Issuer Identification Number), qui identifie le réseau de la carte et la banque émettrice. La détection de marque de cet outil repose sur les plages d'IIN publiquement documentées pour chaque réseau.