java 代码判断 字符串中是否含有 大小写字母 数字 特殊字符 大于指定长度
private static boolean checkPassword(String str) {
char ch;
boolean capitalFlag = false;
boolean lowerCaseFlag = false;
boolean numberFlag = false;
boolean numlenght = false;
boolean specialCharacter = false;
for(int i=0;i < str.length();i++) {
ch = str.charAt(i);
if( Character.isDigit(ch)) {
numberFlag = true;
}
else if (Character.isUpperCase(ch)) {
capitalFlag = true;
} else if (Character.isLowerCase(ch)) {
lowerCaseFlag = true;
}
if (str.length() >= 12){
numlenght = true;
}
if(Pattern.compile("[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\n|\r|\t").matcher(str).find()){
specialCharacter = true;
}
if(numberFlag && capitalFlag && lowerCaseFlag && numlenght && specialCharacter)
return true;
}
return false;
}
true为验证合格,false为验证失败。