1. 程式人生 > >EditText禁止輸入中文或禁止emoji或只能輸入英文和數字

EditText禁止輸入中文或禁止emoji或只能輸入英文和數字

禁止輸入中文:

edit.setKeyListener(new DigitsKeyListener() {
    @Override
    public int getInputType() {
        return InputType.TYPE_TEXT_VARIATION_PASSWORD;
    }

    @Override
    protected char[] getAcceptedChars() {
        String dataID = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!
\"£$%^*()~=#{}[];':,./?/*-_+<>@&#038"; char[] data = dataID.toCharArray(); return data; } });

禁止輸入emoji:

InputFilter emojiFilter = new InputFilter() {
    Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff
]", Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE); @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { Matcher emojiMatcher = emoji.matcher(source); if (emojiMatcher.find()) { return ""
; } return null; } }; edit.setFilters(new InputFilter[]{emojiFilter});

只能輸入英文和數字:

edit.setKeyListener(new DigitsKeyListener() {
    @Override
    public int getInputType() {
        return InputType.TYPE_TEXT_VARIATION_PASSWORD;
    }

    @Override
    protected char[] getAcceptedChars() {
        String dataID = "qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM1234567890";
        char[] data = dataID.toCharArray();
        return data;
    }
});