用java写一个检验类:1、 第一个edittext限制两位小数,且数值不超过600;2、第二个edittext限制输入三位整数且小于240;
时间: 2023-12-10 09:42:49 浏览: 74
可以使用Java中的正则表达式来实现输入限制,具体实现如下:
```java
public class InputValidator {
/**
* 检验输入的数值是否符合要求
* @param value 输入的数值
* @param pattern 正则表达式
* @return 是否符合要求
*/
public static boolean checkValue(String value, String pattern) {
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(value);
return m.matches();
}
/**
* 检验第一个EditText输入是否符合要求
* @param editText 输入框
* @return 是否符合要求
*/
public static boolean checkEditText1(EditText editText) {
String value = editText.getText().toString();
String pattern = "^([1-5]\\d{0,2}|600)(\\.\\d{1,2})?$"; // 限制两位小数,数值不超过600
return checkValue(value, pattern);
}
/**
* 检验第二个EditText输入是否符合要求
* @param editText 输入框
* @return 是否符合要求
*/
public static boolean checkEditText2(EditText editText) {
String value = editText.getText().toString();
String pattern = "^(\\d|[1-9]\\d|1\\d{2}|2[0-3]\\d)$"; // 限制三位整数,小于240
return checkValue(value, pattern);
}
}
```
可以在需要检验的时候调用 `checkEditText1` 或 `checkEditText2` 方法即可。例如:
```java
EditText editText1 = findViewById(R.id.edit_text1);
EditText editText2 = findViewById(R.id.edit_text2);
if (!InputValidator.checkEditText1(editText1)) {
// 第一个EditText输入不符合要求
}
if (!InputValidator.checkEditText2(editText2)) {
// 第二个EditText输入不符合要求
}
```
阅读全文