我想在点击OTP api之前找出在edittext中输入的无效电话号码。无效的电话号码模式可能类似于以下模式+91-00000000000/+91-00000000011/+91-1234567890。。。等等。已经添加了一个验证无效电话号码的检查,但它对检测不可能存在的无效电话号码模式没有帮助。
private boolean isValidMobile(String phone) {
return android.util.Patterns.PHONE.matcher(phone).matches();
}
任何人在使用OTP api之前,请建议如何处理这些数字。提前谢谢。
要验证一个10位数的手机号码,这里有一个工作代码。希望这对你也有用。
String number = binding.editNumber.getText().toString();
// isPhoneValid = isValidMobileNo(number);
if (isValidMobileNo(number)) {
isPhoneValid = true;
else {
Log.d("Result: ","Not Valid");
isPhoneValid = false;
valid = false;
}
private boolean isValidMobileNo(String str) {
Pattern pattern = Pattern.compile("(0/91)?[6-9][0-9]{9}");
Matcher match = pattern.matcher(str);
return (match.find() && match.group().equals(str));
}
这里可以看到测试示例,在这个示例中可以看到设置为EditText的错误消息。