edittext 设置输入的内容仅可输入字母数字汉字

mac2024-04-18  36

最近项目遇到输入框仅可输入数字字母汉字的需求

  public String stringFilter(String str) throws PatternSyntaxException {         // 只允许字母、数字和汉字         String regEx = "[^a-zA-Z0-9\u4E00-\u9FA5]";         Pattern p = Pattern.compile(regEx);         Matcher m = p.matcher(str);         return m.replaceAll("").trim();     }  

通过以上方法去判断

EditText.addTextChangedListener(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) {

//                String editable = mEditText.getText().toString(); //                String str = stringFilter(editable.toString()); //                if (!editable.equals(str)) { //                    mEditText.setText(str); //                    //设置新的光标所在位置 //                    mEditText.setSelection(str.length()); //                }

            }

 

最新回复(0)