今天做了一个包含数字和字母且在6-12位之间的方法分享一下。
/** * 包含大小写字母及数字且在6-12位 * 是否包含 * * @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]{6,12}$"; boolean isRight = isDigit && isLetter && str.matches(regex); return isRight; }
测试代码
public static void main(String[] arg){ System.out.println(isLetterDigit("")); System.out.println(isLetterDigit("11111")); System.out.println(isLetterDigit("11111111")); System.out.println(isLetterDigit("aaa")); System.out.println(isLetterDigit("aaaaaaaaa")); System.out.println(isLetterDigit("a1")); System.out.println(isLetterDigit("a1111111111111")); System.out.println(isLetterDigit("a11111111111")); }
输出结果
参考文章:https://blog.csdn.net/u013347784/article/details/52239026