安卓輸入框,只輸入中文,遮蔽中英文標點和表情
阿新 • • 發佈:2019-02-11
最近遇見一個需求,要求輸入框只能輸入中文,遮蔽標點和表情.
下面是自己整理的,驗證通過,可以直接使用.
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; }