Golang 正则表达式校验密码:6-20位,包含大小写字母和数字
以下是使用 Golang 实现正则校验密码的示例代码,满足密码长度为 6 到 20 位,且必须包含大写字母、小写字母和数字。
package main
import (
"fmt"
"regexp"
)
func main() {
password := 'Abc123456'
if isValidPassword(password) {
fmt.Println('Password is valid')
} else {
fmt.Println('Password is invalid')
}
}
func isValidPassword(password string) bool {
// 密码长度6到20位,必须包含大写或小写字母和数字
regex := regexp.MustCompile(`^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,20}$`)
return regex.MatchString(password)
}
在上面的代码中,我们使用了正则表达式来校验密码。该正则表达式要求密码必须包含至少一个小写字母、一个大写字母和一个数字,并且密码长度在 6 到 20 位之间。如果密码满足这些条件,则认为该密码是有效的。
解释正则表达式:
^: 匹配字符串的开头(?=.*[a-z]): 确保密码包含至少一个小写字母(?=.*[A-Z]): 确保密码包含至少一个大写字母(?=.*\d): 确保密码包含至少一个数字[a-zA-Z\d]{6,20}: 匹配 6 到 20 个字母或数字$: 匹配字符串的结尾
通过使用这个正则表达式,你可以轻松地验证密码是否符合要求。
原文地址: https://www.cveoy.top/t/topic/lDka 著作权归作者所有。请勿转载和采集!