gpt4 book ai didi

java - 用于密码匹配的正则表达式

转载 作者:行者123 更新时间:2023-12-01 07:32:04 26 4
gpt4 key购买 nike

我已经搜索了该网站,但没有找到我想要的内容。密码标准:

  1. 必须为 6 个字符,最多 50 个
  2. 必须包含 1 个字母字符
  3. 必须包含 1 个数字或特殊字符

这是我在java中的内容:

public static Pattern p = Pattern.compile(
"((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])|(?=.*[\\d~!@#$%^&*\\(\\)_+\\{\\}\\[\\]\\?<>|_]).{6,50})"
);

问题是密码 1234567 匹配(有效),但它不应该匹配。

任何帮助都会很棒。

最佳答案

我不会尝试使用单个正则表达式来做到这一点。当正则表达式变得又长又复杂时,它们往往表现不佳。

boolean valid(String password){
return password != null &&
password.length() >= 6 &&
password.length() <= 50 &&
password.matches(".*[A-Za-z].*") &&
password.matches(".*[0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_+\\{\\}\\[\\]\\?<>|_].*");
}

关于java - 用于密码匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16528019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com