我有这样的数字警察模式"[A-Z]{1,2}\d{1,4}\s[A-Z]{1,3}$";如何在编辑文本时实现文本观察者模式。
我想根据格式填写自动编辑文本
这是我的电子邮件检查代码。看看这个例子。
String preText;
...
TextWatcher emailTextWacher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
preText = s.toString();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String strEmailConfirm = s.toString();
if(strEmailConfirm.equals(preText)) return;
if (isValidEmail(strEmailConfirm)) {
setEnableNextBtn();
} else {
setDisableNextBtn();
}
}
@Override
public void afterTextChanged(Editable s) {
}
};
...
public static boolean isValidEmail(String email) {
boolean err = false;
String regex = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@(?:\w+\.)+\w+$";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(email);
if (m.matches()) {
err = true;
}
return err;
}
只需为check模式创建方法并返回boolean,然后在textwacher中使用它。你可以修改警号