gpt4 book ai didi

regex - 使用正则表达式验证密码

转载 作者:IT王子 更新时间:2023-10-29 01:21:55 28 4
gpt4 key购买 nike

我正在尝试使用正则表达式编写密码验证函数,但不知道该怎么做。

Go语言标准API提供的正则包与其他语言不同。

有人知道这个正则表达式模式应该是什么样子吗?

模式应该验证:

/*
* Password rules:
* at least 7 letters
* at least 1 number
* at least 1 upper case
* at least 1 special character
*/

最佳答案

这实际上是不可能的,因为 Go 的 regex不支持回溯。

不过实现起来很简单,举个简单的例子:

func verifyPassword(s string) (sevenOrMore, number, upper, special bool) {
letters := 0
for _, c := range s {
switch {
case unicode.IsNumber(c):
number = true
case unicode.IsUpper(c):
upper = true
letters++
case unicode.IsPunct(c) || unicode.IsSymbol(c):
special = true
case unicode.IsLetter(c) || c == ' ':
letters++
default:
//return false, false, false, false
}
}
sevenOrMore = letters >= 7
return
}

关于regex - 使用正则表达式验证密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25837241/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com