最近遇见一个需求,要求输入框只能输入中文,屏蔽标点和表情.
下面是自己整理的,验证通过,可以直接使用.
boolean aa = checkNameChese("中文");//判断aa的boolean行,即可 /** * 检测String是否全是中文 */ public boolean checkNameChese(String name) { boolean res=true; char [] cTemp = name.toCharArray(); for(int i=0;i<name.length();i++) { if(!isChinese(cTemp[i])) { res=false; }else { if ((cTemp[i] >= 0x4e00) && (cTemp[i] <= 0x9fbb)){ res=true; }else { res=false; } } } return res; } /** * 判定输入汉字 */ public boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) { return true; } return false; }