java - 使用 hibernate bean 验证的密码验证

标签 java regex hibernate hibernate-validator

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

  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]).*$

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

最佳答案

你很接近

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

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

关于java - 使用 hibernate bean 验证的密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10877668/

相关文章:

Java 转换实用程序库

java - 将图像拖放到Jpanel中并将其放入应用程序目录中

javascript - 使用正则表达式匹配获取所有子组

java - 使用 hibernate 而不映射到特定类

java - 按相关实体筛选 Hibernate 条件

java - 访问 java web 应用程序时出错

java - 从 javascript 转义 Unicode 到 Java Unicode 的转换

javascript - 提取以字母开头的字母数字单词,忽略其他单词

javascript - 使用 JavaScript 更改字符串中的特定单词

java - 组织.hibernate.AnnotationException : referencedColumnNames referencing not mapped to a single property