我搜索过该网站并没有找到我想要的内容.密码标准:
这是我在java中的内容:
public static Pattern p = Pattern.compile(
"((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])|(?=.*[\\d~!@#$%^&*\\(\\)_+\\{\\}\\[\\]\\?<>|_]).{6,50})"
);
Run Code Online (Sandbox Code Playgroud)
问题是密码1234567匹配(它是有效的)它不应该是.
任何帮助都会很棒.
我不会尝试使用单个正则表达式来做到这一点.当正则表达式变得冗长而复杂时,它们往往表现不佳.
boolean valid(String password){
return password != null &&
password.length() >= 6 &&
password.length() <= 50 &&
password.matches(".*[A-Za-z].*") &&
password.matches(".*[0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_+\\{\\}\\[\\]\\?<>|_].*");
}
Run Code Online (Sandbox Code Playgroud)