如何验证8到10位长的电话号码?

时间:2017-12-08 11:36:32

标签: java android regex validation

在我的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);
}

4 个答案:

答案 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);
}