안 드 로 이 드 사용자 가 등록 하거나 로그 인 할 때 입력 한 것 이 정확 한 형식의 전화번호 인지 판단 합 니 다.

1697 단어
ava. util. regex 는 정규 표현 식 으로 제 작 된 패턴 으로 문자열 에 일치 하 는 작업 을 하 는 라 이브 러 리 패키지 입 니 다. 그것 은 Pattern 과 Matcher 두 가 지 를 포함한다. 
Pattern: 하나의 Pattern 은 정규 표현 식 이 컴 파일 된 표현 방식 입 니 다. Matcher: 하나의 Matcher 대상 은 상태 기기 입 니 다. Pattern 대상 에 따라 일치 하 는 모드 로 문자열 에 대해 일치 하 는 검 사 를 합 니 다. 
먼저 Pattern 으로 정규 표현 식 을 만 듭 니 다.
(Pattern 클래스 는 정규 표현 식 을 만 드 는 데 사 용 됩 니 다. 일치 하 는 모드 를 만 드 는 데 도 사 용 됩 니 다. 구조 방법 은 개인 적 이 고 직접 만 들 수 없 지만 Pattern. coplie (String regex) 간단 한 공장 방법 으로 정규 표현 식 을 만 들 수 있 습 니 다)
Pattern p = Pattern.compile("^((14[0-9])|(13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\\d{8}$");
여기 서 대표 전화 번 호 는 반드시 14, 13, 15, 18, 17 로 시작 하 는 11 자리 로 자신의 수요 에 따라 수정 할 수 있다.
그리고 Matcher 의 boolean matches () 방법 으로 전체 대상 문자 에 대해 일치 하 는 검 사 를 하고 전체 대상 문자열 이 완전히 일치 할 때 만 실제 값 을 되 돌려 줍 니 다. 
Matcher m = p.matcher(inputText);
마지막 으로 boolean 을 되 돌려 서 true 인지 아 닌 지 를 판단 합 니 다.
return m.matches();
마지막 으로 전체 코드 붙 이기:
public class Utils {
	
	/**
	 *             .
	 *
	 * @param inputText the input text
	 * @return true, if is phone
	 */
	public static boolean isPhone(String inputText) {
		Pattern p = Pattern.compile("^((14[0-9])|(13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\\d{8}$");
		Matcher m = p.matcher(inputText);
		return m.matches();
	}
String userphone = phone.getText().toString().trim();
		
		if (TextUtils.isEmpty(userphone)) {
			Toast.makeText(LoginActivity.this, "      ", Toast.LENGTH_SHORT).show();
			return;
		}
		
		boolean result = Utils.isPhone(userphone);
		if (result == false) {
			Toast.makeText(LoginActivity.this, "         ", Toast.LENGTH_SHORT).show();
			return;
		}

좋은 웹페이지 즐겨찾기