我需要为edittext视图设置验证,应该允许两个数值和两个十进制值。 例如:22.32
请告诉我如何进行此验证
提前致谢
答案 0 :(得分:7)
试一试。我吮吸正则表达式,所以它可能不是最好的,但试一试。
EditText text = new EditText(this);
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (end > start) {
String destTxt = dest.toString();
String resultingTxt = destTxt.substring(0, dstart) + source.subSequence(start, end) + destTxt.substring(dend);
if (!resultingTxt.matches("^\\d(\\d(\\.\\d{0,2})?)?")) {
return "";
}
}
return null;
}
};
text.setFilters(filters);
答案 1 :(得分:1)
boolean isValid=<EditText Variable>.getText().toString().matches("\\d{2}\\.\\d{2}");
将此方法放在onClickListener中,我想你会很高兴。