Dengan kemajuan teknologi yang berterusan, pembayaran elektronik telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian. Dalam proses menerima pakai pembayaran elektronik, nombor kad bank secara semula jadi menjadi salah satu maklumat penting yang membawa kekayaan. Walau bagaimanapun, pelakon jahat juga menggunakan maklumat penting ini untuk melakukan penipuan, kecurian dan aktiviti lain. Bagi memastikan keselamatan proses pembayaran, bank dan pelbagai institusi kewangan telah mengenakan beberapa peraturan dan sekatan ke atas nombor kad bank, dan telah menyenaraihitamkan beberapa nombor kad yang dianggap tidak selamat. Dalam kes ini, cara menggunakan ungkapan biasa untuk mengesahkan sama ada nombor kad bank berada dalam senarai hitam adalah penting.
Bahasa Go ialah salah satu bahasa pengaturcaraan yang paling popular sejak beberapa tahun kebelakangan ini. Kesederhanaan, kecekapan dan keselamatannya menjadikannya digunakan secara meluas dalam bidang seperti pembangunan web dan pengaturcaraan sistem. Dalam bahasa Go, terdapat pakej ungkapan biasa terbina dalam regexp
, yang boleh kami gunakan untuk mengesahkan sama ada nombor kad bank berada dalam senarai hitam.
Pertama, kita perlu mengeluarkan nombor kad bank dalam senarai hitam dalam bentuk ungkapan biasa, dan kemudian gunakan kaedah regexp
bahasa Go untuk memadankan sama ada nombor kad bank yang perlu disahkan sepadan dengan senarai hitam Sebarang ungkapan biasa daripada senarai. Berikut ialah kod sampel: MatchString
package main import ( "fmt" "regexp" ) func main() { // 黑名单中的银行卡号以正则表达式的形式存储 blacklist := []string{ "^62509356[0-9]*$", "^62179011[0-9]*$", "^60336701[0-9]*$", "^62350600[0-9]*$", } // 待验证的银行卡号 cardNumber := "6250935688888888" // 利用正则表达式验证银行卡号是否在黑名单中 for _, pattern := range blacklist { if matched, _ := regexp.MatchString(pattern, cardNumber); matched { fmt.Println("银行卡号在黑名单中") return } } fmt.Println("银行卡号不在黑名单中") }
mewakili nombor kad bank yang akan disahkan Kami merentasi keseluruhan senarai hitam dan menghantar setiap ungkapan biasa kepada kaedah cardNumber
satu demi satu untuk dipadankan. Jika ungkapan biasa berjaya memadankan nombor kad bank untuk disahkan, nombor kad bank dianggap berada dalam senarai hitam. MatchString
untuk padanan traversal boleh menyebabkan masalah prestasi. Jika kita perlu mengoptimumkan prestasi, kita boleh menggabungkan semua ungkapan biasa menjadi satu ungkapan biasa yang besar, kemudian gunakan kaedah MatchString
untuk penyusunan, dan akhirnya gunakan kaedah regexp.MustCompile
untuk pemadanan. Berikut ialah contoh kod: MatchString
package main import ( "fmt" "regexp" "strings" ) func main() { // 黑名单中的银行卡号以正则表达式的形式存储 blacklist := []string{ "^62509356[0-9]*$", "^62179011[0-9]*$", "^60336701[0-9]*$", "^62350600[0-9]*$", } blacklistPattern := strings.Join(blacklist, "|") // 编译正则表达式 regex := regexp.MustCompile(blacklistPattern) // 待验证的银行卡号 cardNumber := "6250935688888888" // 利用正则表达式验证银行卡号是否在黑名单中 if matched := regex.MatchString(cardNumber); matched { fmt.Println("银行卡号在黑名单中") } else { fmt.Println("银行卡号不在黑名单中") } }
dan menyusunnya menggunakan kaedah strings.Join
. Ungkapan biasa yang dihimpun boleh dihantar terus ke kaedah regexp.MustCompile
untuk pemadanan, tanpa perlu mengulangi setiap ungkapan biasa satu demi satu. MatchString
dalam bahasa Go untuk pengesahan, anda boleh mengelakkan kerugian kewangan yang disebabkan oleh penjenayah menggunakan nombor kad bank dengan berkesan. regexp
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada nombor kad bank berada dalam senarai hitam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!