Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan kata laluan menggunakan ungkapan biasa dalam Go?

Bagaimana untuk mengesahkan kata laluan menggunakan ungkapan biasa dalam Go?

WBOY
WBOYasal
2024-06-02 19:31:02551semak imbas

Cara menggunakan ungkapan biasa untuk mengesahkan kata laluan dalam Go adalah seperti berikut: Tentukan corak ungkapan biasa yang memenuhi keperluan kata laluan minimum: sekurang-kurangnya 8 aksara, termasuk huruf kecil, huruf besar, nombor dan aksara khas. Susun corak ungkapan biasa menggunakan fungsi MustCompile daripada pakej regexp. Gunakan kaedah MatchString untuk menguji sama ada rentetan input sepadan dengan corak ungkapan biasa.

如何在 Go 中使用正则表达式验证密码?

Bagaimana untuk mengesahkan kata laluan menggunakan ungkapan biasa dalam Go?

Ekspresi biasa ialah alat berkuasa untuk memadankan corak tertentu dalam badan teks atau rentetan. Dalam Go, anda boleh menggunakan pakej regexp untuk mengesahkan bahawa rentetan mengikut corak tertentu.

Corak yang diperlukan untuk mengesahkan kata laluan

Corak pengesahan kata laluan yang biasa adalah seperti berikut:

  • Sekurang-kurangnya 8 aksara
  • Mengandungi sekurang-kurangnya satu huruf kecil
  • Mengandungi sekurang-kurangnya satu huruf besar
  • Mengandungi sekurang-kurangnya satu huruf besar
  • Mengandungi sekurang-kurangnya Satu watak istimewa

Corak ungkapan biasa

Untuk memadankan corak ini, anda boleh menggunakan ungkapan biasa berikut:

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,}$

Program Go

program biasa berikut menunjukkan cara menggunakan program Go

untuk mengesahkan kata laluan:

package main

import (
   "fmt"
   "regexp"
)

func main() {
   // 定义正则表达式模式
   pattern := `^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,}$`
   r := regexp.MustCompile(pattern)

   // 测试输入字符串
   passwords := []string{"password1", "Password123", "MyPassword123"}
   for _, password := range passwords {
      if r.MatchString(password) {
         fmt.Printf("%s 是一个有效的密码。\n", password)
      } else {
         fmt.Printf("%s 不是一个有效的密码。\n", password)
      }
   }
}

Output

password1 不是一个有效的密码。
Password123 不是一个有效的密码。
MyPassword123 是一个有效的密码。

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan kata laluan 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