过滤中文
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.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
return true;
}
return false;
}
edittext.setFilters(
new InputFilter[] {
(source, start, end, dest, dstart, dend) -> {
for (int i = start; i < end; i++) {
if (isChinese(source.charAt(i))) {
return "";
}
}
return null;
}
});
inputType 属性值
Android:inputType=”none”----输入普通字符
android:inputType=”text”----输入普通字符
android:inputType=”textCapCharacters” ----字母大写
android:inputType=”textCapWords” ----首字母大写
android:inputType=”textCapSentences” ----仅第一个字母大写
android:inputType=”textAutoCorrect”---- 自动完成
android:inputType=”textAutoComplete” ----自动完成
android:inputType=”textMultiLine”---- 多行输入
android:inputType=”textImeMultiLine”----输入法多行(如果支持)
android:inputType=”textNoSuggestions” ----不提示
android:inputType=”textUri” ----网址
android:inputType=”textEmailAddress” ----电子邮件地址
android:inputType=”textEmailSubject” ----邮件主题
android:inputType=”textShortMessage” ----短讯
android:inputType=”textLongMessage” ----长信息
android:inputType=”textPersonName” ----人名
android:inputType=”textPostalAddress” ----地址
android:inputType=”textPassword” ----密码
android:inputType=”textVisiblePassword” ----可见密码
android:inputType=”textWebEditText” ----作为网页表单的文本
android:inputType=”textFilter” ----文本筛选过滤
android:inputType=”textPhonetic” ----拼音输入