wxr
2022-11-24 2af932533ef851bf983385244e9912976dbd4daa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.mm.android.deviceaddmodule.mobilecommon.utils;
 
import android.text.InputFilter;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
 
/**
 * Created by 29295 on 2017/3/14.
 */
 
public class WordInputFilter implements InputFilter {
 
    private String rex = "[^a-zA-Z0-9\\-_@.]";
 
    public static final String REX_EMAIL = "[^a-zA-Z0-9\\-\\_\\@\\.]";
 
    public static final String REX_PHONE = "[^0-9]";
 
    public static final String NEW_PHONE="^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$";
 
    public static final String REGEX_EMAIl = "[A-z]+[A-z0-9_-]*\\@[A-z0-9]+\\.[A-z]+";
 
    /**
     * 正则表达式:验证邮箱
     */
    public static final String REGEX_EMAIL_GUO = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
 
    public static final String REX_CHINESS = "[\\u4e00-\\u9fa5]";
 
    public static final String REX_DEVICE_SN = "[^0-9A-Za-z]";
 
    public static final String REX_PASSWORD = "[^a-zA-Z0-9\\!\\#\\$\\%\\(\\)\\*\\+\\,\\-\\.\\/\\<\\=" +
            "\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~]*";
 
    public static final String REX_NAME = "[^a-zA-Z0-9\\-\\u4e00-\\u9fa5\\_\\@\\s]";
 
    public static final String ACCOUNT_REX_NAME = "[^a-zA-Z0-9\\-\\u4e00-\\u9fa5\\_\\@]";
 
 
    public static final String REX_EMOJI = "[\\x{1F300}-\\x{1F5FF}\\x{1F600}-\\x{1F64F}\\x{1F900}-\\x{1F9FF}\\x{1F680}-\\x{1F6FF}\\x{2600}-\\x{26FF}\\x{2700}-\\x{27BF}]";
 
    public static final String REX_NAME_NO_SPACE = "[^a-zA-Z0-9\\-\\u4e00-\\u9fa5\\_\\@]";
 
    public WordInputFilter(String rex) {
        this.rex = rex;
    }
 
    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        String result = source.toString().replaceAll(rex, "");
        if(source instanceof  Spanned){
            SpannableString str = new SpannableString(result);
            TextUtils.copySpansFrom((Spanned) source ,0 ,result.length(), null, str, 0 );
            return str;
        }
 
        return result;
    }
}