我正在尝试根据一组规则验证用户输入的密码,这些规则如下。
- 最少 6 个字符,最多 8 个字符。
- 至少 1 个号码
- 至少 1 个大写字母。
- 不允许特殊字符
这是我到目前为止在我的 bean 类中所做的
@NotNull(message = "{register.pwd.invalid}")
@Size(min = 6, max = 8, message = "{register.pwd.invalid}")
public String getPwd()
{
return pwd;
}
我相信对于其余部分我必须使用 regExp 但不确定我需要什么正则表达式,这就是我想出的
^.*(?=.{6,8})(?=.*\d)(?=.*[A-Z]).*$
我不确定表达式,因为我不擅长正则表达式,任何人都可以帮助我指出更正正则表达式
最佳答案
你很接近
^(?=.*\d)(?=.*[A-Z]).{6,8}$
不要在开头使用.*
(这会破坏长度检查)并将长度检查移到末尾。
关于java - 使用 hibernate bean 验证的密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10877668/