修改密码强度验证

This commit is contained in:
2023-07-03 09:43:37 +08:00
parent 58c5f8455d
commit 0bee1fa40c
3 changed files with 30 additions and 7 deletions
+23
View File
@@ -10,6 +10,7 @@ import (
"hospital-admin-api/api/model"
"hospital-admin-api/api/requests"
"hospital-admin-api/global"
"regexp"
"strconv"
)
@@ -350,6 +351,28 @@ func (r *UserService) PutUserPassword(requestUserId int64, putUserPasswordReques
return false, errors.New("原密码错误,请重新输入")
}
// 密码校验
if len(putUserPasswordRequest.NewPassword) < 8 {
return false, errors.New("密码小于8位数")
}
num := `[0-9]{1}`
a_z := `[a-z]{1}`
A_Z := `[A-Z]{1}`
symbol := `[!@#.~$%^&*()+|_]{1}`
if b, err := regexp.MatchString(num, putUserPasswordRequest.NewPassword); !b || err != nil {
return false, errors.New("密码强度必须为字⺟⼤⼩写+数字+符号")
}
if b, err := regexp.MatchString(a_z, putUserPasswordRequest.NewPassword); !b || err != nil {
return false, errors.New("密码强度必须为字⺟⼤⼩写+数字+符号")
}
if b, err := regexp.MatchString(A_Z, putUserPasswordRequest.NewPassword); !b || err != nil {
return false, errors.New("密码强度必须为字⺟⼤⼩写+数字+符号")
}
if b, err := regexp.MatchString(symbol, putUserPasswordRequest.NewPassword); !b || err != nil {
return false, errors.New("密码强度必须为字⺟⼤⼩写+数字+符号")
}
// 开始事务
tx := global.Db.Begin()
defer func() {