Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan nama pengguna menggunakan ungkapan biasa dalam Go?

Bagaimana untuk mengesahkan nama pengguna menggunakan ungkapan biasa dalam Go?

WBOY
WBOYasal
2024-06-03 09:48:57520semak imbas

Untuk menggunakan ungkapan biasa untuk mengesahkan nama pengguna dalam Go, anda perlu memasang pakej regexp terlebih dahulu. Seterusnya, tentukan ungkapan biasa untuk memadankan nama pengguna yang sah, contohnya, terdiri daripada huruf, nombor dan garis bawah serta panjang antara 3 dan 25 aksara. Ia kemudiannya disusun menjadi objek ungkapan biasa menggunakan fungsi regexp.MustCompile(). Akhir sekali, gunakan kaedah MatchString() untuk mengesahkan bahawa nama pengguna sepadan dengan ungkapan biasa.

如何在 Go 中使用正则表达式验证用户名?

Sahkan nama pengguna dalam Go menggunakan ungkapan biasa

Ekspresi biasa ialah alat yang berkuasa untuk memadankan corak teks. Dalam Go, kita boleh menggunakan pakej regexp untuk mengendalikan ungkapan biasa. Tutorial ini akan menunjukkan kepada anda cara menggunakan ungkapan biasa untuk mengesahkan nama pengguna dalam Go. regexp 包来处理正则表达式。本教程将向你展示如何在 Go 中使用正则表达式来验证用户名。

安装正则表达式包

首先,你需要通过运行以下命令来安装 regexp 包:

go get golang.org/x/exp/regexp

定义用户名正则表达式

接下来,你需要定义一个正则表达式来匹配有效的用户名。一个有效的用户名通常由字母、数字和下划线组成,并且长度在 3 到 25 个字符之间。以下正则表达式将匹配这样的用户名:

const usernameRegex = `^[a-zA-Z0-9_]{3,25}$`

验证用户名

有了正则表达式后,你可以使用 regexp.MustCompile() 函数将其编译为正则表达式对象:

import (
    "regexp"
)

var usernameRE = regexp.MustCompile(usernameRegex)

现在,你可以使用 MatchString()

Pasang pakej ekspresi biasa

Pertama, anda perlu memasang pakej regexp dengan menjalankan arahan berikut:

func isValidUsername(username string) bool {
    return usernameRE.MatchString(username)
}

Tentukan ungkapan biasa nama pengguna

Seterusnya, anda perlu menentukan ungkapan biasa untuk padankan nama pengguna yang sah. Nama pengguna yang sah biasanya terdiri daripada huruf, nombor dan garis bawah, dan panjangnya antara 3 dan 25 aksara. Ungkapan biasa berikut akan sepadan dengan nama pengguna seperti ini: 🎜
package main

import (
    "fmt"
    "regexp"
)

var usernameRE = regexp.MustCompile(`^[a-zA-Z0-9_]{3,25}$`)

func main() {
    // 一些有效的用户名
    validUsernames := []string{"john", "jane_doe", "123_abc"}

    // 一些无效的用户名
    invalidUsernames := []string{"", "john123_", "_username_"}

    for _, username := range validUsernames {
        if isValidUsername(username) {
            fmt.Printf("%s is a valid username\n", username)
        }
    }

    for _, username := range invalidUsernames {
        if !isValidUsername(username) {
            fmt.Printf("%s is an invalid username\n", username)
        }
    }
}
🎜Sahkan nama pengguna🎜🎜Sebaik sahaja anda mempunyai ungkapan biasa, anda boleh menggunakan fungsi regexp.MustCompile() untuk menyusunnya menjadi objek ungkapan biasa :🎜
john is a valid username
jane_doe is a valid username
123_abc is a valid username
 is an invalid username
john123_ is an invalid username
_username_ is an invalid username
🎜Kini, anda boleh menggunakan kaedah MatchString() untuk mengesahkan sama ada nama pengguna sepadan dengan ungkapan biasa:🎜rrreee🎜Kes praktikal🎜🎜Berikut ialah cara menggunakan fungsi sebelumnya untuk mengesahkan dalam Go atur cara Contoh nama pengguna: 🎜rrreee🎜Output: 🎜rrreee

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan nama pengguna menggunakan ungkapan biasa dalam Go?. 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