1. 程式人生 > >安卓輸入框,只輸入中文,遮蔽中英文標點和表情

安卓輸入框,只輸入中文,遮蔽中英文標點和表情

最近遇見一個需求,要求輸入框只能輸入中文,遮蔽標點和表情.

下面是自己整理的,驗證通過,可以直接使用.

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; }