Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verifiziert man die CVV-Nummer mithilfe eines regulären Ausdrucks?

Wie verifiziert man die CVV-Nummer mithilfe eines regulären Ausdrucks?

WBOY
WBOYnach vorne
2023-09-05 13:21:231469Durchsuche

Wie verifiziert man die CVV-Nummer mithilfe eines regulären Ausdrucks?

Die drei- oder vierstellige Zahl wird Card Verification Value (CVV) genannt und befindet sich auf der Rückseite der meisten Kredit- und Debitkarten sowie auf der Vorderseite von American Express-Karten. Er ist auch als CVV2 und CSC (Card Security Code) bekannt.

Der CVV-Code ist ein Sicherheitsmechanismus, der sicherstellt, dass der Käufer über eine gültige Karte verfügt. Es wurde entwickelt, um unbefugte Transaktionen zu verhindern. Diese Informationen werden häufig beim Online-Einkauf per Telefon benötigt oder wenn Sie keine Karte zur Hand haben.

Methode

Die folgende Methode wird verwendet, um die CVV-Nummer mithilfe regulärer Ausdrücke zu überprüfen -

  • Für 3-stelligen CVV-Code

  • Für 4-stelligen CVV-Code

Methode 1: Für 3-stelligen CVV-Code

Bei den meisten Kredit- und Debitkarten ist auf der Rückseite ein spezielles Sicherheitsmerkmal aufgedruckt. Bei dieser speziellen Funktion handelt es sich um eine dreistellige Nummer, die durch einen CVV oder Card Verification Value Code benannt wird. Dies ist praktisch, wenn Sie online oder telefonisch einkaufen, um die Echtheit einer Karte zu überprüfen, ohne die tatsächliche Karte in der Hand zu haben. Solange die gegebene Eingabe dem bestätigten CVV-Code-Konfigurationsformat entspricht, kann sie durch reguläre Ausdrücke identifiziert werden.

Strings, die als reguläre Ausdrücke bezeichnet werden, geben Suchmuster an. Bei CVV-Zahlen können Sie mithilfe regulärer Ausdrücke überprüfen, ob die Eingabe dreistellig ist.

Grammatik

Die Syntax zur Validierung dreistelliger CVV-Codes mithilfe regulärer Ausdrücke lautet wie folgt -

^\d {3}$

Dabei steht d für ein beliebiges numerisches Zeichen, 3 für die genaue Häufigkeit, mit der das vorherige Zeichen (die vorherige Zahl) erscheinen soll, und $ für das Ende der Zeichenfolge.

Eine Zeichenfolge, die aus genau drei Ziffern besteht (im Format eines dreistelligen CVV-Codes), entspricht diesem regulären Ausdrucksmuster. Es kann verwendet werden, um die Richtigkeit der Benutzereingaben zu überprüfen und sicherzustellen, dass CVV-Codes im richtigen Format eingegeben werden.

Algorithmus

Algorithmus zur Überprüfung von dreistelligem CVV-Code mithilfe regulärer Ausdrücke −

Schritt 1 – Erstellen Sie ein reguläres Ausdrucksmuster, das 3 Ziffern entspricht. Das richtige Muster ist „d3“, wobei „d“ für eine beliebige Zahl steht und „3“ bedeutet, dass es genau drei Zahlen geben müssen.

Schritt 2 – Entwerfen Sie eine Methode zur Überprüfung des CVV-Codes. Nach dem Empfang einer Zeichenfolge als Eingabe sollte die Funktion einen booleschen Wert zurückgeben, der angibt, ob die Zeichenfolge mit dem CVV-Muster übereinstimmt.

Schritt 3 – Verwenden Sie das re-Modul von Python innerhalb der Methode, um das reguläre Ausdrucksmuster zu kompilieren. Ein Beispiel ist „cvv_pattern = re.compile(r'd3')“.

Schritt 4 – Überprüfen Sie mithilfe der match()-Methode des kompilierten Musters, ob die Eingabezeichenfolge mit dem CVV-Muster übereinstimmt. Verwenden Sie zur Veranschaulichung „match = cvv_pattern.match(input_str)“.

Schritt 5 – Geben Sie „True“ zurück, wenn die Übereinstimmung erfolgreich ist (d. h. die Eingabezeichenfolge entspricht dem CVV-Muster). Wenn nicht, wird False zurückgegeben.

Beispiel 1

Erklärt, wie reguläre Ausdrücke in C++ verwendet werden, um dreistellige CVV-Codes automatisch zu überprüfen.

In diesem Beispiel wird der Beispiel-CVV-Code zunächst als Zeichenfolgenvariable definiert. Anschließend erstellen wir mithilfe der Syntax [0-9]3 ein reguläres Ausdrucksmuster, das mit drei beliebigen aufeinanderfolgenden Zahlen übereinstimmt.

Verwenden Sie die Funktion std::regex_match(), um reguläre Ausdrucksmuster mit CVV-Codes zu vergleichen. Wenn der CVV-Code mit dem Muster übereinstimmt, drucken Sie „Gültiger CVV-Code“ auf dem Bildschirm aus, andernfalls wird „Ungültiger CVV-Code“ angezeigt.

#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;
}

Ausgabe

Valid CVV code

Methode 2: Für 4-stelligen CVV-Code

In der Welt der Kredit- und Debitkarten ist der 4-stellige CVV-Code eine Variante des Card Verification Value (CVV). Während die meisten Kartennutzer nur den dreistelligen CVV-Code verwenden, verwendet American Express einen vierstelligen Code. Durch die Anwendung regulärer Ausdrücke können Einzelpersonen sicherstellen, dass jede korrekt eingegebene vierstellige CVV-Nummer effektiv überprüft wird.

Grammatik

Syntax für reguläre Ausdrücke, die zur Überprüfung von 4-stelligen CVV-Codes verwendet werden kann -

^\d {4}$

Dieser reguläre Ausdruck setzt sich wie folgt zusammen: -

  • ^ – Anfang der Zeichenfolge

  • d – eine beliebige Zahl (0-9)

  • {4} – genau viermal

  • $ – Ende der Zeichenfolge

Dieser reguläre Ausdruck erkennt nur Zeichenfolgen mit insgesamt vier Ziffern. Wenn der vom Benutzer eingegebene CVV-Code nicht genau aus vier Ziffern besteht und nicht numerische Zeichen enthält, wird der CVV-Code als ungültig ausgegeben, da der reguläre Ausdruck nicht übereinstimmt.

Algorithmus

Schritt-für-Schritt-Algorithmus zur Validierung von 4-stelligen CVV-Codes mithilfe regulärer Ausdrücke -

Schritt 1 – Erstellen Sie ein reguläres Ausdrucksmuster, das vier Ziffern entspricht. Die Formel für dieses Muster lautet d4, was einer beliebigen Folge von vier Zahlen entspricht.

Schritt 2 – Holen Sie sich den CVV-Code des Benutzers.

Schritt 3 – Um zu sehen, ob der CVV-Code mit dem Muster übereinstimmt, verwenden Sie ein reguläres Ausdrucksmuster. Sie können beispielsweise die Funktion re.match() verwenden, um CVV-Code mit Mustern in Python zu vergleichen.

Schritt 4 – Wenn der CVV-Code mit dem Muster übereinstimmt, dann ist der CVV-Code ein zulässiger 4-stelliger CVV-Code. Sie können jetzt handeln.

Schritt 5 – Wenn Ihr CVV-Code nicht dem Muster ähnelt, handelt es sich nicht um einen gültigen 4-stelligen CVV-Code. Fehlermeldungen können dem Benutzer ausgedruckt werden und eingegebene gültige CVV-Codes können auf dem Bildschirm ausgedruckt werden.

示例 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输入与该正则表达式进行匹配来增强信用卡和借记卡交易的安全性。

Das obige ist der detaillierte Inhalt vonWie verifiziert man die CVV-Nummer mithilfe eines regulären Ausdrucks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen