Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengesahkan nombor CVV menggunakan ungkapan biasa?

Bagaimana untuk mengesahkan nombor CVV menggunakan ungkapan biasa?

WBOY
WBOYke hadapan
2023-09-05 13:21:231564semak imbas

Bagaimana untuk mengesahkan nombor CVV menggunakan ungkapan biasa?

Nombor tiga atau empat digit itu dipanggil Nilai Pengesahan Kad (CVV) dan boleh didapati di belakang kebanyakan kad kredit dan debit serta di hadapan kad American Express. Ia juga dikenali sebagai CVV2 dan CSC (Kod Keselamatan Kad).

Kod CVV ialah mekanisme keselamatan yang memastikan pembeli mempunyai kad yang sah. Ia dibangunkan untuk membantu mencegah transaksi yang tidak dibenarkan. Maklumat ini selalunya diperlukan semasa membeli-belah dalam talian melalui telefon atau apabila anda tidak mempunyai kad di tangan.

Kaedah

Kaedah berikut digunakan untuk mengesahkan nombor CVV menggunakan ungkapan biasa -

  • Untuk kod CVV 3 digit

  • Untuk kod CVV 4 digit

Kaedah 1: Untuk kod CVV 3 digit

Kebanyakan kad kredit dan debit mempunyai ciri keselamatan yang dicetak khusus di belakangnya. Ciri khusus ini ialah nombor tiga digit yang dinamakan oleh CVV atau Kod Nilai Pengesahan Kad, yang berguna semasa membeli-belah dalam talian atau melalui telefon untuk mengesahkan ketulenan kad tanpa mempunyai kad sebenar di tangan. Selagi input yang diberikan mematuhi format konfigurasi kod CVV yang disahkan, ia boleh dikenal pasti melalui ungkapan biasa.

Rentetan yang dipanggil ungkapan biasa menentukan corak carian. Dalam kes nombor CVV, anda boleh menggunakan ungkapan biasa untuk mengesahkan bahawa input mempunyai tiga digit.

Tatabahasa

Sintaks untuk mengesahkan kod CVV tiga digit menggunakan ungkapan biasa adalah seperti berikut -

^\d {3}$

Di mana d mewakili mana-mana aksara angka, 3 mewakili bilangan tepat kali aksara sebelumnya (nombor) harus muncul dan $ mewakili penghujung rentetan.

Rentetan yang mengandungi tepat tiga digit (dalam format kod CVV tiga digit) sepadan dengan corak ungkapan biasa ini. Ia boleh digunakan untuk menyemak ketepatan input pengguna dan memastikan kod CVV dimasukkan dalam format yang betul.

Algoritma

Algoritma untuk mengesahkan kod CVV 3 digit menggunakan ungkapan biasa−

Langkah 1 - Buat corak ekspresi biasa yang sepadan dengan 3 digit. Corak yang betul ialah "d3", di mana "d" bermaksud sebarang nombor dan "3" bermakna mesti ada tiga nombor tepat.

Langkah 2 - Reka kaedah untuk menyemak kod CVV. Selepas menerima rentetan sebagai input, fungsi harus mengembalikan boolean yang menunjukkan sama ada rentetan itu sepadan dengan corak CVV.

Langkah 3 - Gunakan modul semula Python di dalam kaedah untuk menyusun corak ungkapan biasa. Contohnya ialah "cvv_pattern = re.compile(r'd3')".

Langkah 4 - Periksa sama ada rentetan input sepadan dengan corak CVV menggunakan kaedah padanan() corak yang disusun. Sebagai ilustrasi, gunakan "match = cvv_pattern.match(input_str)".

Langkah 5 - Kembalikan Benar jika perlawanan berjaya (iaitu rentetan input sepadan dengan corak CVV). Jika tidak, mengembalikan Palsu.

Contoh 1

Menerangkan cara menggunakan ungkapan biasa dalam C++ untuk mengesahkan kod CVV 3 digit secara automatik.

Dalam contoh ini, sampel kod CVV pada mulanya ditakrifkan sebagai pembolehubah rentetan. Kemudian, menggunakan sintaks [0-9]3, kami membina corak ungkapan biasa yang sepadan dengan mana-mana tiga nombor berturut-turut.

Gunakan fungsi std::regex_match() untuk membandingkan corak ekspresi biasa dengan kod CVV. Jika kod CVV sepadan dengan corak, cetak "Kod CVV Sah" pada skrin, jika tidak, paparkan "Kod CVV Tidak Sah".

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

Output

Valid CVV code

Kaedah 2: Untuk kod CVV 4 digit

Dalam dunia kad kredit dan debit, kod CVV 4 digit ialah variasi Nilai Pengesahan Kad (CVV). Walaupun kebanyakan pengguna kad hanya menggunakan kod CVV tiga digit, American Express menggunakan kod empat digit. Dengan menggunakan ungkapan biasa, individu boleh memastikan bahawa sebarang nombor CVV 4 digit yang dimasukkan dengan betul disahkan dengan berkesan.

Tatabahasa

Sintaks ungkapan biasa untuk mengesahkan kod CVV 4 digit -

^\d {4}$

Ungkapan biasa ini terpecah seperti berikut -

  • ^ - permulaan rentetan

  • d - sebarang nombor (0-9)

  • {4} - tepat empat kali

  • $ - hujung rentetan

Ungkapan biasa ini hanya mengecam rentetan dengan jumlah empat digit. Jika kod CVV yang dibekalkan pengguna bukan tepat empat digit dan mengandungi sebarang aksara bukan angka, kod CVV akan dikeluarkan sebagai tidak sah kerana ungkapan biasa tidak akan sepadan.

Algoritma

Algoritma langkah demi langkah untuk mengesahkan kod CVV 4 digit menggunakan ungkapan biasa -

Langkah 1 - Buat corak ungkapan biasa yang sepadan dengan empat digit. Formula untuk corak ini ialah d4, yang sepadan dengan mana-mana larian empat nombor.

Langkah 2 - Dapatkan kod CVV pengguna.

Langkah 3 - Untuk melihat sama ada kod CVV sepadan dengan corak, gunakan corak ungkapan biasa. Sebagai contoh, anda boleh menggunakan fungsi re.match() untuk membandingkan kod CVV dengan corak dalam Python.

Langkah 4 - Jika kod CVV sepadan dengan corak, maka kod CVV ialah kod CVV 4 digit yang sah. Anda boleh berdagang sekarang.

Langkah 5 - Jika kod CVV anda tidak menyerupai corak, ia bukan kod CVV 4 digit yang sah. Mesej ralat boleh dicetak kepada pengguna dan kod CVV yang sah dimasukkan boleh dicetak pada skrin.

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

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan nombor CVV menggunakan ungkapan biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam