Maison >développement back-end >C++ >Comment vérifier le numéro CVV à l'aide d'une expression régulière ?

Comment vérifier le numéro CVV à l'aide d'une expression régulière ?

WBOY
WBOYavant
2023-09-05 13:21:231544parcourir

Comment vérifier le numéro CVV à laide dune expression régulière ?

Le numéro à trois ou quatre chiffres est appelé valeur de vérification de la carte (CVV) et se trouve au dos de la plupart des cartes de crédit et de débit ainsi qu'au recto des cartes American Express. Il est également connu sous les noms de CVV2 et CSC (Card Security Code).

Le code CVV est un mécanisme de sécurité qui garantit que l'acheteur dispose d'une carte valide. Il a été développé pour aider à empêcher les transactions non autorisées. Ces informations sont souvent requises lors d'achats en ligne par téléphone ou lorsque vous n'avez pas de carte en main.

Méthode

La méthode suivante est utilisée pour vérifier le numéro CVV à l'aide d'expressions régulières -

  • Pour le code CVV à 3 chiffres

  • Pour le code CVV à 4 chiffres

Méthode 1 : Pour le code CVV à 3 chiffres

La plupart des cartes de crédit et de débit ont un dispositif de sécurité spécifiquement imprimé au dos. Cette fonctionnalité spécifique est un numéro à trois chiffres nommé par un CVV ou Card Verification Value Code, qui s'avère pratique lors d'achats en ligne ou par téléphone pour vérifier l'authenticité d'une carte sans avoir la carte réelle en main. Tant que l'entrée donnée est conforme au format de configuration du code CVV confirmé, elle peut être identifiée via des expressions régulières.

Les chaînes appelées expressions régulières spécifient des modèles de recherche. Dans le cas des numéros CVV, vous pouvez utiliser des expressions régulières pour vérifier que l'entrée comporte trois chiffres.

Grammaire

La syntaxe de validation des codes CVV à trois chiffres à l'aide d'expressions régulières est la suivante -

^\d {3}$

Où d représente n'importe quel caractère numérique, 3 représente le nombre exact de fois que le caractère précédent (numéro) doit apparaître et $ représente la fin de la chaîne.

Une chaîne composée d'exactement trois chiffres (au format un code CVV à trois chiffres) correspond à ce modèle d'expression régulière. Il peut être utilisé pour vérifier l'exactitude de la saisie de l'utilisateur et garantir que les codes CVV sont saisis dans le format correct.

Algorithme

Algorithme de vérification du code CVV à 3 chiffres à l'aide d'expressions régulières−

Étape 1 - Créez un modèle d'expression régulière qui correspond à 3 chiffres. Le modèle correct est "d3", où "d" représente n'importe quel nombre et "3" signifie qu'il doit y avoir exactement trois nombres.

Étape 2 - Concevoir une méthode pour vérifier le code CVV. Après avoir reçu une chaîne en entrée, la fonction doit renvoyer un booléen indiquant si la chaîne correspond au modèle CVV.

Étape 3 - Utilisez le module re de Python dans la méthode pour compiler le modèle d'expression régulière. Un exemple est "cvv_pattern = re.compile(r'd3')".

Étape 4 - Vérifiez si la chaîne d'entrée correspond au modèle CVV en utilisant la méthode match() du modèle compilé. À titre d'illustration, utilisez "match = cvv_pattern.match(input_str)".

Étape 5 - Renvoyez True si la correspondance est réussie (c'est-à-dire que la chaîne d'entrée correspond au modèle CVV). Sinon, renvoie False.

Exemple 1

Explique comment utiliser les expressions régulières en C++ pour vérifier automatiquement les codes CVV à 3 chiffres.

Dans cet exemple, l'exemple de code CVV est initialement défini comme une variable de chaîne. Ensuite, en utilisant la syntaxe [0-9]3, nous construisons un modèle d'expression régulière qui correspond à trois nombres consécutifs.

Utilisez la fonction std::regex_match() pour comparer les modèles d'expressions régulières avec les codes CVV. Si le code CVV correspond au modèle, imprimez « Code CVV valide » sur l'écran, sinon affichez « Code CVV invalide ».

#include <iostream>
#include <regex>
#include <string>

int main() {
   std::string cvv = "123"; // Example CVV code
   std::regex cvv_regex("[0-9]{3}");

   if (std::regex_match(cvv, cvv_regex)) {
      std::cout << "Valid CVV code\n";
   } else {
      std::cout << "Invalid CVV code\n";
   }
   return 0;
}

Sortie

Valid CVV code

Méthode 2 : Pour le code CVV à 4 chiffres

Dans le monde des cartes de crédit et de débit, le code CVV à 4 chiffres est une variante de la valeur de vérification de la carte (CVV). Alors que la plupart des utilisateurs de cartes utilisent uniquement le code CVV à trois chiffres, American Express utilise un code à quatre chiffres. En appliquant des expressions régulières, les individus peuvent s'assurer que tout numéro CVV à 4 chiffres correctement saisi est effectivement vérifié.

Grammaire

Syntaxe d'expression régulière pouvant être utilisée pour vérifier les codes CVV à 4 chiffres -

^\d {4}$

Cette expression régulière se décompose comme suit -

  • ^ - début de chaîne

  • d - n'importe quel nombre (0-9)

  • {4} - exactement quatre fois

  • $ - bout de ficelle

Cette expression régulière ne reconnaît que les chaînes comportant un total de quatre chiffres. Si le code CVV fourni par l'utilisateur ne comporte pas exactement quatre chiffres et contient des caractères non numériques, le code CVV sera affiché comme non valide car l'expression régulière ne correspondra pas.

Algorithme

Algorithme étape par étape pour valider les codes CVV à 4 chiffres à l'aide d'expressions régulières -

Étape 1 - Créez un modèle d'expression régulière qui correspond à quatre chiffres. La formule de ce modèle est d4, qui correspond à n’importe quelle série de quatre nombres.

Étape 2 - Obtenez le code CVV de l'utilisateur.

Étape 3 - Pour voir si le code CVV correspond au modèle, utilisez un modèle d'expression régulière. Par exemple, vous pouvez utiliser la fonction re.match() pour comparer le code CVV avec des modèles en Python.

Étape 4 - Si le code CVV correspond au modèle, alors le code CVV est un code CVV légal à 4 chiffres. Vous pouvez échanger maintenant.

Étape 5 - Si votre code CVV ne ressemble pas au modèle, ce n'est pas un code CVV à 4 chiffres valide. Des messages d'erreur peuvent être imprimés à l'attention de l'utilisateur et les codes CVV valides saisis peuvent être imprimés à l'écran.

示例 2

以下是一个使用正则表达式验证四位数字CVV码的C++示例,无需用户输入:

在这个例子中,我们使用std::regex类构造了一个匹配4位数字的正则表达式模式。cvv_regex变量保存了这个模式。

std regex_match 函数用于查找 cvv 字符串是否与 cvv_regex 模式匹配。 CVV码关注字符串是否符合模式;否则,确认无效。

#include <iostream>
#include <regex>

int main() {
   std::string cvv = "124"; // The CVV code to validate

   // Regular Expression to match 4-digit numbers
   std::regex cvv_regex("\b\d{4}\b");

   if (std::regex_match(cvv, cvv_regex)) {
      std::cout << "Valid CVV code." << std::endl;
   } else {
      std::cout << "Invalid CVV code." << std::endl;
   }
   return 0;
}

输出

Invalid CVV code.

结论

使用正则表达式验证CVV号码可以帮助确保输入的格式正确,并满足有效CVV的标准。CVV模式通常由正则表达式"bd3,4b"表示,该表达式匹配一个由三或四个数字组成的字符串,字符串前后有单词边界。开发人员可以通过将CVV输入与该正则表达式进行匹配来增强信用卡和借记卡交易的安全性。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer