如果是,编辑文本应该允许文本。字母+数字b。字母+特殊字符c。仅限字母

时间:2018-02-20 10:52:48

标签: android regex android-edittext

我试图在Android中生成一个正则表达式,它可以满足以下条件: 编辑文字可以接受:

  1. 仅限字母
  2. 字母和数字的组合
  3. 字母和特殊字符的组合
  4. 不应接受: 一个。只有数字 湾只有特殊字符

    我尝试了很多,但仍然没有得到任何有意义的链接。请尽量节省我的一天。

    我尝试使用正则表达式(?!^ \ d + $)^。+ $“),这只是有效的alphanumric要求。我正在寻找满足我要求的正则表达式。

1 个答案:

答案 0 :(得分:2)

这真的很简单......只要清除EditText,如果里面的文字没有字母 .. 就像你说的那样 ...

  

不应接受 a。只有数字b 仅限特殊字符

TextWatcher mTextWatcher = new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

        boolean atleastOneAlpha = s.toString().matches(".*[a-zA-Z]+.*");

        if (!atleastOneAlpha) {
            editText.setText("");
        }

    }

    @Override
    public void afterTextChanged(Editable s) {

    }
};

mTargetEditText.addTextChangedListener(mTextWatcher);