这个问题,以前没用遇到过,今天还是搞了许久才研究出来,看起来比较简单,步入正题
先写出这样一个方法
// 过滤特殊字符 public static 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(); }
//然后写出控件的文本监听事件
etUsername.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0,int arg1,int arg2, int arg3) {
//在这里调用 String editable = etUsername.getText().toString(); String str = stringFilter(editable.toString()); if (!editable.equals(str)) { etUsername.setText(str); // 设置新的光标所在位置 etUsername.setSelection(str.length()); } } @Override public void beforeTextChanged(CharSequence arg0, int arg2,int arg3) { // TODO Auto-generated method stub }
@Override public void afterTextChanged(Editable arg0) {
} });
这个就完成了, (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|