Comment valider les numéros de carte de crédit en utilisant des expressions régulières

Une expression régulière est une séquence de caractères qui développe un modèle de recherche. Les expressions régulières sont principalement utilisées pour rechercher, valider et modifier des messages ou des chaînes de caractères.

Apprenez exactement comment vérifier les numéros de cartes bancaires comme Mastercard, Visa Card, ainsi qu’American Express avec des expressions régulières.

Quand utiliser RegEx pour valider un numéro de carte bancaire ?

Les services tiers facturent chaque tentative de transaction. Que la transaction soit réussie ou non, vous devez payer les frais. Dans de tels cas, vous voulez diminuer les numéros de carte de crédit qui sont manifestement invalides. Vous pouvez vérifier rapidement les numéros de carte de crédit en utilisant des expressions régulières.

Mais vous ne pouvez pas totalement compter sur la reconnaissance des expressions normales pour votre fonction de remboursement. Les sociétés de cartes modifient régulièrement leurs modèles de numéros de cartes (en présentant de nouveaux modèles ou en supprimant les anciens), de sorte que la méthode regex n’est pas le remède le plus durable. Bien que vous puissiez essayer d’aller sur les modèles de cartes à partir d’une source comme Wikipedia qui est régulièrement mise à jour.

Vous pouvez également utiliser des regex pour localiser rapidement le nom de la marque de la carte, que vous pouvez ensuite utiliser pour afficher des conceptions de logo ou des étiquettes.

Les expressions régulières ont plusieurs instances d’utilisation fonctionnelle. La commande grep de Linux est probablement l’un des cas d’utilisation sensible les plus typiques des regex.

Le code utilisé dans cette tâche est facilement disponible dans une base de données GitHub ainsi qu’il est gratuit pour vous d’utiliser sous la licence MIT.

RegEx pour valider le numéro de carte Mastercard

Un numéro de Mastercard est valide s’il satisfait aux conditions suivantes :

  1. La chaîne de caractères ne devrait pas être composée de caractères spéciaux, d’alphabets ou d’espaces blancs.
  2. Le nombre de caractères doit être égal à 16.
  3. La chaîne de caractères devrait commencer soit par un tableau de nombres à 2 chiffres (variant de 51 à 55), soit par une plage de nombres à 4 chiffres (variant de 2221 à 2720).
    • Si la chaîne commence par un tableau de nombres à 2 chiffres (variant de 51 à 55), les 14 chiffres suivants doivent être un nombre compris entre 0 et 9.
    • Si la chaîne commence par un tableau de chiffres à 4 chiffres (variant de 2221 à 2720), les 12 chiffres suivants doivent être un nombre compris entre 0 et 9.
Voir aussi :  Tests boîte noire vs tests boîte blanche : Les différences que tout développeur doit connaître

La regex suivante satisfait aux conditions ci-dessus et peut également vérifier un numéro de Mastercard :

Si vous n’êtes pas à l’aise avec l’expression ci-dessus, consultez d’abord l’aperçu des expressions normales pour les débutants.

Vous pouvez utiliser l’expression rationnelle ci-dessus pour confirmer le numéro de Mastercard dans n’importe quel type de langage de programmation. Ci-dessous, vous trouverez juste comment le faire en Python :

L’exécution de ce code validera que le premier numéro est debout, mais que le second ne l’est pas :

RegEx pour valider le numéro de carte Visa

Un numéro de carte Visa est valide s’il remplit les conditions suivantes :

  1. La chaîne de caractères ne doit contenir aucune sorte de caractères uniques, d’alphabets ou d’espaces blancs.
  2. La chaîne de caractères doit commencer par 4.
  3. Le nombre de personnalités devrait s’élever à 13 ou 16. Les anciennes cartes de visa ont 13 caractères et les nouvelles cartes ont 16 caractères.
    • Si la variété de personnalités s’élève à 13, les 12 derniers chiffres doivent être un nombre compris entre 0 et 9.
    • Si le nombre de personnalités est égal à 16, les 15 derniers chiffres doivent être un nombre compris entre 0 et 9.

La regex adhérente satisfait aux conditions ci-dessus ainsi que vous pouvez l’utiliser pour confirmer un numéro de carte Visa :

Voici l’approche Python pour confirmer un numéro de carte Visa :

Encore une fois, la sortie valide les stands de numéro initial tandis que le second est invalide :

Voir aussi :  Comment relever le défi FizzBuzz dans 5 langages de programmation

RegEx pour valider le numéro de carte American Express

Un numéro de carte American Express est debout s’il satisfait aux problèmes suivants :

  1. La chaîne de caractères doit ne comporter aucun type de caractères spéciaux, d’alphabets ou d’espaces blancs.
  2. Ce nombre de caractères doit être égal à 15.
  3. La chaîne de caractères doit commencer par 34 ou 37.
  4. Les 13 derniers chiffres doivent être un nombre compris entre 0 et 9.

La regex suivante satisfait les problèmes ci-dessus et vous pouvez également l’utiliser pour confirmer un numéro de carte American Express :

Vous pouvez valider un numéro de carte American Express en utilisant le code Python suivant :

Une fois de plus, le résultat valide le premier numéro, mais le second est nul :

Applications des expressions régulières

Vous pouvez utiliser un regex assez simple pour confirmer les numéros de carte de paiement habituels.Regex est un appareil puissant que vous pouvez utiliser pour le prétraitement des informations, la correspondance des modèles, la suppression des informations, l’analyse lexicale, la manipulation du langage entièrement naturelle, les rayures sur Internet, et plus encore.Vous pouvez également utiliser des expressions normales de l’avancement sur Internet pour s’occuper de la reconnaissance des types de HTML.

Comment puis-je valider ma carte de crédit ?

Comment valider des cartes de crédit en 8 étapes simples

  • Glissez la carte.
  • Obtenir l’approbation de l’autorisation de transaction.
  • Comparez les numéros de compte.
  • Vérifiez la date d’expiration de la carte.
  • Vérifiez le bulletin d’avertissement électronique ou les avis d’avertissement internationaux.
  • Vérifiez le numéro à quatre chiffres dans le panneau de signature de la carte.
Voir aussi :  Comment travailler avec des fichiers YAML en Go

Comment validez-vous les expressions dans regex ?

Pour valider une RegExp, exécutez-la simplement sur null (inutile de connaître les données que vous souhaitez tester à l’avance). S’il renvoie explicite false ( === false ), il est cassé. Sinon, il est valide même s’il n’a pas besoin de correspondre à quoi que ce soit. Il n’est donc pas nécessaire d’écrire votre propre validateur RegExp.

L’expression régulière est-elle utilisée pour la validation ?

Les expressions régulières (également connues sous le nom d’expressions régulières) sont des séquences de caractères qui définissent un modèle de recherche dans le texte. Ils peuvent être utilisés pour valider du texte en fonction de critères complexes et faire correspondre des modèles de texte courants tels que des numéros de téléphone et des adresses IP.

Comment validez-vous un numéro de carte de crédit en Python ?

Science des données pratique avec Python

  • Il commencera par 4, 5 et 6.
  • Il comportera 16 chiffres.
  • Les nombres ne doivent contenir que des chiffres.
  • Il peut avoir des chiffres en quatre groupes séparés par ‘-‘
  • Il ne doit utiliser aucun autre séparateur tel qu’un espace ou un trait de soulignement.
  • Il ne doit pas avoir 4 chiffres identiques consécutifs ou plus.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *