在我的Android应用程序中,使用了电话号码字段。用户给出的8到10位输入值。如何使用PHONE_REGEX验证8到10位数的电话号码?
我已经尝试过这种方法,
private static final String PHONE_REGEX = "\\d{8-10}";
public static boolean isPhoneNumber(EditText editText, boolean required) {
return isValid(editText, PHONE_REGEX, PHONE_MSG, required);
}
答案 0 :(得分:1)
让我们尝试\\d{8,10}
而不是\\d{8-10}
答案 1 :(得分:1)
使用此
private static final String PHONE_REGEX = "\\d{8,10}";
public static boolean isPhoneNumber(EditText editText, boolean required) {
return isValid(editText, PHONE_REGEX, PHONE_MSG, required);
}
而不是
private static final String PHONE_REGEX = "\\d{8-10}";
public static boolean isPhoneNumber(EditText editText, boolean required) {
return isValid(editText, PHONE_REGEX, PHONE_MSG, required);
}
只有一个小错误。在提出问题之前,请参考之前的堆栈答案。
答案 2 :(得分:1)
您可以将其用于验证。
public static boolean isValidIndianMobile(String mobile) {
if (mobile == null || mobile.trim().length() <= 0) {
return false;
}
mobile = removeAllSpace(mobile);
Pattern pattern = Pattern.compile("[7-9][0-9]{9}");
Matcher matcher = pattern.matcher(mobile);
return matcher.matches();
}
public static String removeAllSpace(String s) {
if (s == null) return "";
return s.replaceAll("\\s", "");
}
答案 3 :(得分:0)
使用\\d{8,10}
代替\\d{8-10}
和trim()文本
private static final String PHONE_REGEX = "\\d{8,10}";
public static boolean isPhoneNumber(EditText editText, boolean required) {
return isValid(editText.getText().toString().trim(), PHONE_REGEX, PHONE_MSG, required);
}