Android EditText使用正则表达式进行约束
2017-12-25 17:13
113 查看
对EditText进行过滤汉字或者特殊字符
1.给EditText添加一个TextWatcher
Pwd.addTextChangedListener(new SearchWather(Pwd));
2.自定义内部类SearchWather
class SearchWather implements TextWatcher{
//监听改变的文本框
private EditText editText;
public SearchWather(EditText editText){
this.editText = editText;
}
@Override
public void onTextChanged(CharSequence ss, int start, int before, int count) {
String editable = editText.getText().toString();
String str = stringFilter(editable.toString());
if(!editable.equals(str)){
editText.setText(str);
//设置新的光标所在位置
editText.setSelection(str.length());
}
}
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
}
}
public static String stringFilter(String str)throws PatternSyntaxException{
// 只允许字母和数字
String regEx = "[^a-zA-Z0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
转载:http://blog.sina.com.cn/s/blog_48964b120101amae.html
1.给EditText添加一个TextWatcher
Pwd.addTextChangedListener(new SearchWather(Pwd));
2.自定义内部类SearchWather
class SearchWather implements TextWatcher{
//监听改变的文本框
private EditText editText;
public SearchWather(EditText editText){
this.editText = editText;
}
@Override
public void onTextChanged(CharSequence ss, int start, int before, int count) {
String editable = editText.getText().toString();
String str = stringFilter(editable.toString());
if(!editable.equals(str)){
editText.setText(str);
//设置新的光标所在位置
editText.setSelection(str.length());
}
}
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
}
}
public static String stringFilter(String str)throws PatternSyntaxException{
// 只允许字母和数字
String regEx = "[^a-zA-Z0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
转载:http://blog.sina.com.cn/s/blog_48964b120101amae.html
相关文章推荐
- android中进行https连接的方式
- Android开发,GPS获取实时时间并转为北京时间,定位信息,海拔高度,并进行显示
- 对于android源码进行make sdk出错的解决方法
- [置顶] android 底层日志 开发框架 崩溃后进行记录 LogReport
- Android调用系统自带的下载程序进行下载。
- AES加密进行Android的SharedPreferences存储
- Android以当前Activity为基准进行截屏
- 使用traceview进行Android性能测试(转)
- 使用Socket进行一台服务器与多个Android客户端进行双向通信
- android中对图片进行处理时内存溢出,程序崩溃
- Android中使用tcpdump、wireshark进行抓包并分析技术介绍
- mac 无法连接android手机进行调试 解决方案
- Android FaceDetector进行人脸检测
- Android入门:通过JSON数据与服务器进行通信
- Android与PC间进行Socket通信
- 对Android应用进行单元测试
- android 约束布局案例
- Android多线程中UI线程和其他线程进行交互的几种方法小结
- 使用tcpdump、wireshark对Android应用程序进行抓包并分析
- 请问sql开源框架ActiveAndroid怎么进行查找select from where