Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah akaun jalur lebar yang sah

Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah akaun jalur lebar yang sah

王林
王林asal
2023-06-25 14:06:28959semak imbas

Dalam pembangunan perisian harian, kami sering menghadapi situasi di mana data yang dimasukkan pengguna perlu disahkan. Antaranya, menggunakan ungkapan biasa untuk mengesahkan data input adalah kaedah biasa kerana ia boleh memadankan data dengan corak tertentu dengan mudah.

Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input adalah akaun jalur lebar yang sah.

Peraturan untuk akaun jalur lebar:

Di negara kita, akaun jalur lebar biasanya terdiri daripada nombor atau huruf dan panjangnya 5 hingga 18 digit. Antaranya, nombor dan huruf boleh digunakan semula.

Menggunakan ungkapan biasa dalam golang untuk mengesahkan kesahihan akaun jalur lebar boleh dicapai menggunakan fungsi yang disediakan oleh pakej regexp.

Pertama, kita perlu memperkenalkan pakej regexp:

import "regexp"

Seterusnya, tentukan fungsi bernama isBroadbandAccount untuk mengesahkan akaun jalur lebar. Parameter fungsi ini ialah rentetan yang akan disahkan dan nilai pulangan ialah jenis bool, yang menunjukkan sama ada rentetan yang akan disahkan mematuhi peraturan akaun jalur lebar.

func isBroadbandAccount(str string) bool {
    // 定义正则表达式
    pattern := `^[a-zA-Z0-9]{5,18}$`
    
    // 编译正则表达式
    reg := regexp.MustCompile(pattern)
    
    // 进行匹配
    return reg.MatchString(str)
}

Dalam kod di atas, kami menggunakan simbol ^ dan $ untuk memastikan permulaan dan penghujung rentetan disahkan. A-zA-Z0-9 dalam kurungan segi empat sama boleh menjadi nombor atau huruf besar dan huruf kecil, dan boleh diulang 5 hingga 18 kali.

Menyusun ungkapan biasa menggunakan fungsi MustCompile, yang boleh menyemak ketepatan ungkapan biasa semasa penyusunan dan menyebabkan panik apabila format ungkapan biasa tidak betul.

Akhir sekali, padankan ungkapan biasa melalui fungsi MatchString dan kembalikan hasil padanan.

Di bawah, kita boleh menulis program mudah untuk menguji sama ada fungsi isBroadbandAccount boleh berfungsi dengan baik.

package main

import (
    "fmt"
    "regexp"
)

func isBroadbandAccount(str string) bool {
    // 定义正则表达式
    pattern := `^[a-zA-Z0-9]{5,18}$`
    
    // 编译正则表达式
    reg := regexp.MustCompile(pattern)
    
    // 进行匹配
    return reg.MatchString(str)
}

func main() {
    // 测试用例
    cases := []struct {
        input string
        want  bool
    }{
        {"abcd123", true},
        {"a1b2c3d4", true},
        {"1a2b3c4d", true},
        {"", false},
        {"abc1234567890123", false},
    }

    // 遍历测试用例
    for _, c := range cases {
        got := isBroadbandAccount(c.input)
        if got != c.want {
            fmt.Printf("isBroadbandAccount(%q) == %v, want %v
", c.input, got, c.want)
        }
    }
}

Dalam program di atas, kami menentukan beberapa kes ujian dan mengujinya melalui lintasan gelung. Setiap kes ujian termasuk rentetan input dan output yang dijangkakan.

Akhir sekali, jalankan program ujian dan keputusan output adalah seperti berikut:

isBroadbandAccount("abc1234567890123") == false, want true

Seperti yang dapat dilihat daripada hasil output, fungsi isBroadbandAccount kami boleh mengesahkan kesahihan akaun jalur lebar dengan betul.

Ringkasan:

Artikel ini memperkenalkan cara menggunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input adalah akaun jalur lebar yang sah. Kami menggunakan fungsi yang disediakan oleh pakej regexp dan mengujinya dengan program mudah. Melalui pengenalan artikel ini, pembaca boleh mempelajari cara menggunakan ungkapan biasa dalam golang untuk mengesahkan kesahihan data input, yang akan memberikan bantuan untuk kerja pembangunan masa hadapan.

Atas ialah kandungan terperinci Gunakan ungkapan biasa dalam golang untuk mengesahkan sama ada input ialah akaun jalur lebar yang sah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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