Java - 전화번호 유효성 검사

By JS | Last updated: June 20, 2021

정규표현식을 이용하여 휴대폰 번호나, 전화번호가 올바른지 유효성(validation) 검사하는 방법을 소개합니다.

예제

정규표현식 패턴 "\\d{3}-\\d{4}-\\d{4}"으로 문자열이 "123-4567-8910" 형식인지 확인할 수 있습니다.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PhoneNumberValidation {

    public static void main(String[] args) {

        String number = "010-1234-5678";
        String number2 = "010-123-45678";
        String number3 = "0101-234-5678";

        validPhoneNumber(number);
        validPhoneNumber(number2);
        validPhoneNumber(number3);
    }

    public static boolean validPhoneNumber(String number) {
        Pattern pattern = Pattern.compile("\\d{3}-\\d{4}-\\d{4}");
        Matcher matcher = pattern.matcher(number);
        if (matcher.matches()) {
            System.out.println("Valid phone number: " + number);
            return true;
        } else {
            System.out.println("Invalid. Not the form XXX-XXXX-XXX: " + number);
            return false;
        }
    }

}

Output:

Valid phone number: 010-1234-5678
Invalid. Not the form XXX-XXXX-XXX: 010-123-45678
Invalid. Not the form XXX-XXXX-XXX: 0101-234-5678

다른 패턴의 전화번호

"\\d{3}" 패턴은 숫자 3개가 연속된 것을 의미합니다. 이것을 이용하여 아래와 같이 다양한 패턴의 전화번호의 패턴을 찾을 수 있습니다.

// Pattern: 123-456-7890
Pattern pattern = Pattern.compile("\\d{3}-\\d{3}-\\d{4}");

// Pattern: 123-45678910
Pattern pattern = Pattern.compile("\\d{3}-\\d{8}");

// Pattern: 12345678910
Pattern pattern = Pattern.compile("\\d{11}");

Related Posts

댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha