java - 정규 표현 식 핸드폰 번호 판단

1264 단어
핸드폰 번 호 를 더욱 정확하게 맞 추 려 면 11 자리 숫자 만 맞 추 는 것 이 부족 하 다. 예 를 들 어 144 로 시작 하 는 번호 구간 이 없다.
그러므로 현재 몇 개의 번호 구간 이 개방 되 었 는 지, 국가 번호 구간 의 분 배 는 다음 과 같다.
이동: 134, 135, 136, 137, 138, 139, 150, 151, 157 (TD), 158, 159, 187, 188
연통: 130, 131, 132, 152, 155, 156, 185, 186, 176, (170, 171 좁쌀 이동)
전신: 133, 153, 180, 189, (1349 위 통), 177, (170 샤 오미 이동, 이 구간 은 연 결 된 것 도 있 고 전신 도 있다)
이상 은 과거 에 알 고 있 었 던 것 일 뿐 수시로 증가 하거나 변 하고 있 을 수도 있다. 예 를 들 어 샤 오미 가 이동 하 는 17x 의 시작 부분 이다.
그러나 우 리 는 그것 을 실 용적 인 도구 류 에 봉 하여 사용 하 는 모든 곳 에서 이 코드 를 사용 하고 변경 이 있 을 때 여 기 를 수정 하면 된다.
그러면 현재 정규 일치 테스트 를 사용 할 수 있 습 니 다:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 *           MobileUtils
 * 
 * @author lipw
 * @date 2017 7 5   11:25:45
 */
public class MobileUtils {
	
	/**
	 *      
	 * @author lipw
	 * @date   2017 4 5   11:34:07
	 * @param mobiles
	 *     
	 * @return
	 *     true,    false
	 */
	public static boolean isMobileNO(String mobiles) {

		// Pattern p =
		// Pattern.compile("^((147)|(17[0-9])|(13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
		Pattern p = Pattern.compile("^((13[0-9])|(15[^4])|(18[0-9])|(17[0-9])|(147))\\d{8}$");
		Matcher m = p.matcher(mobiles);
		return m.matches();
	}
}

좋은 웹페이지 즐겨찾기