public static boolean isLetterDigit(String str){ boolean isDigit = false;//定义一个boolean值,用来表示是否包含数字 boolean isLetter = false;//定义一个boolean值,用来表示是否包含字母 for(int i=0 ; i if(Character.isDigit(str.charAt(i))){ //用char包装类中的判断数字的方法判断每一个字符 isDigit = true; } if(Character.isLetter(str.charAt(i))){ //用char包装类中的判断字母的方法判断每一个字符 isLetter = true; } } String regex = "^[a-zA-Z0-9]+$"; boolean isRight = isDigit && isLetter&&str.matches(regex); return isRight; }
android判断EditText输入的数字、中文还是字母方法
String txt = edInput.getText().toString(); Pattern p = Pattern.compile("[0-9]*"); Matcher m = p.matcher(txt); if(m.matches() ){ Toast.makeText(Main.this,"输入的是数字", Toast.LENGTH_SHORT).show(); } p=Pattern.compile("[a-zA-Z]"); m=p.matcher(txt); if(m.matches()){ Toast.makeText(Main.this,"输入的是字母", Toast.LENGTH_SHORT).show(); } p=Pattern.compile("[\u4e00-\u9fa5]"); m=p.matcher(txt); if(m.matches()){ Toast.makeText(Main.this,"输入的是汉字", Toast.LENGTH_SHORT).show(); }