Cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada nombor kad bank berada dalam senarai hitam

PHPz
Lepaskan: 2023-06-24 10:49:43
asal
719 orang telah melayarinya

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("银行卡号不在黑名单中")
}
Salin selepas log masuk

Dalam kod di atas, kami menyimpan nombor kad bank dalam senarai hitam dalam bentuk tatasusunan rentetan dan setiap rentetan mewakili ungkapan biasa. Pembolehubah

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

Perlu diambil perhatian bahawa apabila bilangan ungkapan biasa dalam senarai hitam agak besar, menggunakan kaedah

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("银行卡号不在黑名单中")
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggabungkan semua ungkapan biasa menjadi satu ungkapan biasa yang besar melalui kaedah

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

Ringkasnya, menggunakan ungkapan biasa dalam bahasa Go untuk mengesahkan sama ada nombor kad bank berada dalam senarai hitam adalah tugas yang sangat penting. Dengan menulis ungkapan biasa dan menggunakan pakej

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan