
Validateur regex Python de cartes de crédit
Utilisez le Validateur regex Python de cartes de crédit pour tester instantanément les formats de numéros de carte avec regex Python. Que vous travailliez sur des passerelles de paiement ou des validations de formulaires, cet outil vérifie si les numéros de carte correspondent à des patterns valides. Pour une validation des entrées plus complète, combinez-le avec le Validateur regex Python d'e-mail ou le Validateur regex Python de mots de passe pour une vérification utilisateur sécurisée et centralisée.
Validateur regex Python de cartes de crédit - Documentation
Qu'est-ce que le regex de carte de crédit ?
Les numéros de cartes de crédit suivent des structures définies selon l'émetteur (Visa, MasterCard, Amex, etc.). Ils contiennent généralement 13 à 19 chiffres et peuvent commencer par des préfixes spécifiques :
Visa : commence par 4, 13 ou 16 chiffres
MasterCard : commence par 51 à 55 ou 2221 à 2720, 16 chiffres
American Express : commence par 34 ou 37, 15 chiffres
Un pattern regex permet de vérifier si une saisie ressemble à un numéro de carte valide, non pas si elle est réelle ou active.
Pourquoi utiliser le regex pour la validation de données ?
Le regex (expressions régulières) est un outil puissant pour vérifier rapidement si une saisie correspond à un format précis. Pour les numéros de cartes de crédit, il vous permet de définir exactement à quoi doit ressembler un numéro valide selon les règles de l'émetteur, filtrant ainsi les saisies invalides dès l'entrée.
Le regex s'applique bien au-delà de la validation de cartes :
Validation d'e-mail : vérifier la présence d'un symbole "@" et d'un domaine valide
Exigences de mot de passe : contrôler la longueur, les caractères spéciaux et la casse mixte
Web scraping : extraire des informations produits, prix ou autres données de pages HTML
En définissant des patterns précis, le regex simplifie la validation et l'extraction de données dans de nombreux scénarios réels.
Pattern regex de carte de crédit en Python
Un pattern regex pour les principaux types de cartes :
^(?:4[0-9]{12}(?:[0-9]{3})?| # Visa
5[1-5][0-9]{14}| # MasterCard
3[47][0-9]{13}| # American Express
6(?:011|5[0-9]{2})[0-9]{12})$ # DiscoverCe pattern :
Valide 13 à 16 chiffres
Confirme le préfixe selon le type de carte
N'autorise pas de caractères ou séparateurs
Personnaliser les patterns regex selon vos besoins
Le pattern ci-dessus couvre Visa, MasterCard, American Express et Discover. Vous pouvez avoir besoin de valider d'autres types de cartes selon vos exigences. Par exemple :
Discover : ^6(?:0115[0-9]{2})[0-9]{12}$
Diner's Club : ^3(?:0[0-5][68][0-9])[0-9]{11}$
Personnaliser vos patterns vous permet de gérer un plus grand éventail d'émetteurs, garantissant une logique de validation flexible selon vos besoins métier.
Comment valider des cartes de crédit avec regex en Python
Voici un exemple Python complet pour vérifier si un numéro de carte correspond :
import redef is_valid_credit_card(card_number): pattern = re.compile(r'^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$') return bool(pattern.fullmatch(card_number))
Test
cards = [ "4111111111111111", # Visa - valid "5500000000000004", # MasterCard - valid "378282246310005", # Amex - valid "1234567890123456" # Invalid ]
for c in cards: print(f"{c} -> {is_valid_credit_card(c)}")
Cas d'utilisation
Passerelles de paiement : garantir que seuls les numéros correctement formatés sont soumis dans les formulaires de paiement.
Validation des entrées de formulaire : détecter les fautes de frappe ou les faux numéros avant la vérification backend.
Pré-validation pour les API : réduire la charge des API en filtrant les entrées en amont.
Systèmes de saisie de données : prévenir les entrées incorrectes dans les plateformes CRM ou financières.
Renforcez cette validation avec le Validateur regex Python de numéros de téléphone pour les formulaires multi-champs.
Conseils pratiques
Ce regex vérifie uniquement le format, pas la validité en temps réel ni l'activité de la carte.
Ne stockez jamais les numéros de carte en clair. Chiffrez ou tokenisez-les systématiquement.
Évitez les séparateurs comme les tirets ou espaces, sauf si vous les traitez explicitement.
Pour les saisies collées, supprimez les espaces avec str.replace(" ", "") avant d'appliquer le regex.
Combinez-le avec le Validateur regex Python de mots de passe pour des flux d'inscription ou de paiement sécurisés.
Bonnes pratiques supplémentaires :
Utilisez des champs de saisie masqués pour n'afficher qu'une partie du numéro de carte, protégeant ainsi les données des regards indiscrets.
Ne journalisez ni ne stockez jamais les détails inutiles issus des étapes de validation. Minimisez ce qui est conservé.
Envoyez et stockez toujours les données sensibles de façon chiffrée. Une transmission non chiffrée est une invitation aux problèmes.
Révisez et mettez à jour vos patterns regex régulièrement, les formats de cartes évoluent.
Le regex vous aide à détecter rapidement les formats invalides, mais c'est l'ensemble de votre protocole de sécurité et de confidentialité qui fait le vrai travail. Traitez chaque donnée de carte comme si elle pouvait être compromise, car entre de mauvaises mains, c'est possible.
Conseils de sécurité et de confidentialité :
Masquez les saisies sensibles : n'affichez que les quatre derniers chiffres lors de la saisie ou de l'affichage, masquez le reste avec des astérisques ou des points.
Ne journalisez jamais les numéros complets : masquez ou redactez les numéros de carte dans les journaux pour éviter toute exposition accidentelle.
Chiffrez tout : utilisez un chiffrement aux normes de l'industrie pour le stockage et la transmission. HTTPS est indispensable.
Mettez à jour vos patterns : de nouveaux formats de cartes apparaissent. Gardez votre regex à jour pour ne pas rejeter des utilisateurs légitimes.
Limitez la rétention des données : ne conservez que le nécessaire, et supprimez les détails de carte dès que possible.
Rester vigilant avec ces pratiques garantit que votre validation regex est non seulement précise, mais aussi sûre pour vos utilisateurs.
Frequently Asked Questions
Ce regex confirme-t-il si la carte est réelle ou active ?
Ce regex est-il conforme PCI ?
Puis-je l'utiliser pour vérifier le CVV ou la date d'expiration ?
Que faire si je veux autoriser des espaces ou des tirets dans les numéros de carte ?
Couvre-t-il tous les types de cartes ?
Related Articles



Testez vos API dès aujourd'hui !
Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'emploi.



