2017-12-08 3 views
-1

내 안드로이드 응용 프로그램에서 전화 번호 필드가 사용되었습니다. 사용자가 지정한 8 ~ 10 자리의 입력 값입니다. PHONE_REGEX을 사용하여 8 ~ 10 자리 전화 번호를 확인하는 방법은 무엇입니까?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); 
} 
+5

사용' "\\ D {8,10}"' – anubhava

답변

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

하나의 작은 mistake.Before는 질문을 이전 스택 답변을 참조하십시오.

0

사용 \\d{8,10} 대신 \\d{8-10}

및 트림() 텍스트가

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); 
} 
+1

사용'\\ D {8,10}'제안에 대한 대신 \\ d를'의 {8-10}' –

+1

@Nilu 덕분에 . –

1

는의가 대신 \\d{8,10} 해보자 \\d{8-10}

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", ""); 
    } 
관련 문제