Java 使用HibernateBean验证进行密码验证

Java 使用HibernateBean验证进行密码验证,java,regex,hibernate,hibernate-validator,Java,Regex,Hibernate,Hibernate Validator,我试图根据一组规则验证用户输入的密码,下面是这些规则 最少6个字符,最多8个字符 至少1个 至少1个大写字母 不允许使用特殊字符 这就是我到目前为止在bean类中所做的 @NotNull(message = "{register.pwd.invalid}") @Size(min = 6, max = 8, message = "{register.pwd.invalid}") public String getPwd() { return pwd;

我试图根据一组规则验证用户输入的密码,下面是这些规则

  • 最少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]).*$
    
    我不确定这个表达式,因为我对regExp不太在行,有人能帮我指出如何更正regExp吗

    ^(?=.*\d)(?=.*[A-Z]).{6,8}$
    
    ^(?=.*\d)(?=.*[A-Z]).{6,8}$
    

    不要在开始时使用
    *
    (这会破坏长度检查)并将长度检查移动到末尾。

    删除第一个
    *
    并锚定字符限制,例如: