【问题标题】:Password Validation using hibernate bean validation使用休眠 bean 验证的密码验证
【发布时间】:2012-06-04 07:20:21
【问题描述】:

我正在尝试根据一组规则验证用户输入密码,这些规则如下。

  1. 最少 6 个和最多 8 个字符。
  2. 至少 1 个号码
  3. 至少 1 个大写字母。
  4. 不允许特殊字符

这是我到目前为止在我的 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]).*$

我不确定表达式,因为我不擅长正则表达式,任何人都可以帮助我指出更正正则表达式

【问题讨论】:

    标签: java regex hibernate hibernate-validator


    【解决方案1】:

    你很亲密

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

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

    【讨论】:

      【解决方案2】:

      去掉第一个.*并锚定字符限制,例如:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-04
        • 1970-01-01
        • 2017-05-10
        相关资源
        最近更新 更多