public class PwdCheckUtils { /** * 是否包含大小写字母、数字中的一种 * @param str * @return */ public static boolean isLetterOrDigit(String str) { boolean isLetterOrDigit = false;//定义一个boolean值,用来表示是否包含字母或数字 for (int i = 0; i < str.length(); i++) { if (Character.isLetterOrDigit(str.charAt(i))) { //用char包装类中的判断数字的方法判断每一个字符 isLetterOrDigit = true; } } String regex = "^[a-zA-Z0-9]+$"; boolean isRight = isLetterOrDigit && str.matches(regex); return isRight; } /** * 是否包含大小写字母、数字中的两种 * @param str * @return */ public static boolean isLetterDigit(String str) { boolean isDigit = false;//定义一个boolean值,用来表示是否包含数字 boolean isLetter = false;//定义一个boolean值,用来表示是否包含字母 for (int i = 0; i < str.length(); i++) { if (Character.isDigit(str.charAt(i))) { //用char包装类中的判断数字的方法判断每一个字符 isDigit = true; } else if (Character.isLetter(str.charAt(i))) { //用char包装类中的判断字母的方法判断每一个字符 isLetter = true; } } String regex = "^[a-zA-Z0-9]+$"; boolean isRight = isDigit && isLetter && str.matches(regex); return isRight; } /** * 必须包含大小写字母、数字 * @param str * @return */ public static boolean isContainAll(String str) { boolean isDigit = false;//定义一个boolean值,用来表示是否包含数字 boolean isLowerCase = false;//定义一个boolean值,用来表示是否包含字母 boolean isUpperCase = false; for (int i = 0; i < str.length(); i++) { if (Character.isDigit(str.charAt(i))) { //用char包装类中的判断数字的方法判断每一个字符 isDigit = true; } else if (Character.isLowerCase(str.charAt(i))) { //用char包装类中的判断字母的方法判断每一个字符 isLowerCase = true; } else if (Character.isUpperCase(str.charAt(i))) { isUpperCase = true; } } String regex = "^[a-zA-Z0-9]+$"; boolean isRight = isDigit && isLowerCase && isUpperCase && str.matches(regex); return isRight; } }
参考原文:https://blog.csdn.net/u013347784/article/details/52239026