加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

edditText正则限制特殊符号输入

发布时间:2020-12-14 00:56:44 所属栏目:百科 来源:网络整理
导读:这个问题,以前没用遇到过,今天还是搞了许久才研究出来,看起来比较简单,步入正题 先写出这样一个方法 // 过滤特殊字符 public static String stringFilter(String str) throws PatternSyntaxException { String regEx = "[^a-zA-Z0-9@_.u4E00-u9FA5]";/

这个问题,以前没用遇到过,今天还是搞了许久才研究出来,看起来比较简单,步入正题

先写出这样一个方法

// 过滤特殊字符
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) {


}
});

这个就完成了,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读