如何验证 EditText 上的输入,即用户仅输入字符串或整数值或三个特殊字符(@ 和 $)或这些字符的组合?
其他输入必须显示错误。
这是我的代码。
public static boolean Check_input_validation(String input){
if(!input.matches("^[a-zA-Z0-9]*$"))
return false;
else
return true;
}
最佳答案
为 EditText 创建过滤器并在过滤器中定义条件。例如,仅接受数字
final String[] acceptLtrs = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0"};
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
if (source.toString().isEmpty()) return null;
for (String acceptLtr : acceptLtrs) {
if (source.equals(acceptLtr)) {
return null; // will accept input
}
}
return ""; // will dismiss the input or you can show error here
}};
然后edittext.setFilters(new InputFilter[]{filter});
关于java - 使用 android 中允许的字符验证 EditText 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54302552/