Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] 전화번호 유효성 검사 본문
전화번호의 유효성을 검사하는 작업은 데이터 입력 양식을 처리할 때 자주 필요한 기능입니다. 이번 글에서는 Java로 전화번호의 유효성을 검사하는 여러 가지 방법에 대해 알아보겠습니다.
1. 정규 표현식(Regular Expression) 사용
정규 표현식을 사용하여 전화번호의 유효성을 검사할 수 있습니다. 특정한 전화번호 형식에 맞는 패턴을 정의하여 이를 기준으로 유효성을 판단합니다.
String phoneNumber = "010-1234-5678";
boolean isValid = phoneNumber.matches("^01(?:0|1|[6-9])-(?:\\d{3}|\\d{4})-\\d{4}$");
System.out.println("전화번호 유효성 검사 결과: " + isValid);
2. Apache Commons Validator 라이브러리 사용
Apache Commons Validator 라이브러리를 사용하여 전화번호의 유효성을 검사할 수 있습니다. 이 라이브러리는 다양한 데이터 유효성 검사 기능을 제공합니다.
import org.apache.commons.validator.routines.RegexValidator;
String phoneNumber = "010-1234-5678";
RegexValidator validator = new RegexValidator("^01(?:0|1|[6-9])-(?:\\d{3}|\\d{4})-\\d{4}$");
boolean isValid = validator.isValid(phoneNumber);
System.out.println("전화번호 유효성 검사 결과: " + isValid);
3. Google의 libphonenumber 라이브러리 사용
Google의 libphonenumber 라이브러리를 사용하면 전화번호의 유효성을 좀 더 정확하게 검사할 수 있습니다. 이 라이브러리는 국가별 전화번호 패턴을 제공하여 유효성을 검사합니다.
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
String phoneNumber = "01012345678";
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
com.google.i18n.phonenumbers.Phonenumber.PhoneNumber number = phoneUtil.parse(phoneNumber, "KR");
boolean isValid = phoneUtil.isValidNumber(number);
System.out.println("전화번호 유효성 검사 결과: " + isValid);
} catch (NumberParseException e) {
System.err.println("유효하지 않은 전화번호입니다.");
}
4. 전화번호 형식 파싱 및 검사
전화번호를 각각의 부분(국가 코드, 지역 코드, 전화번호)으로 파싱하고 각 부분의 유효성을 개별적으로 검사하는 방법도 있습니다.
String phoneNumber = "01012345678";
boolean isValid = false;
if (phoneNumber != null && phoneNumber.length() == 11) {
String countryCode = phoneNumber.substring(0, 3);
String areaCode = phoneNumber.substring(3, 7);
String number = phoneNumber.substring(7);
if (countryCode.equals("010") && areaCode.matches("\\d{4}") && number.matches("\\d{4}")) {
isValid = true;
}
}
System.out.println("전화번호 유효성 검사 결과: " + isValid);
5. 전화번호 형식 라이브러리 사용
특정 전화번호 형식을 검증하는 라이브러리를 사용하여 유효성을 검사할 수도 있습니다. 이 방법은 간편하게 사용할 수 있지만, 형식이 한정되어 있을 수 있습니다.
import org.apache.commons.validator.routines.RegexValidator;
String phoneNumber = "01012345678";
RegexValidator validator = new RegexValidator("010[1-9]\\d{7,8}");
boolean isValid = validator.isValid(phoneNumber);
System.out.println("전화번호 유효성 검사 결과: " + isValid);
6. 기타 방법
다양한 방법으로 전화번호의 유효성을 검사할 수 있습니다. 각 상황에 맞게 적절한 방법을 선택하여 사용하시면 됩니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] 특정 경로의 하위 파일, 폴더 탐색하기 (Files.walk) (0) | 2024.03.11 |
---|---|
[Java/자바] File이 존재하는지 확인하기 (0) | 2024.03.11 |
[Java/자바] 쉘 스크립트 실행 (0) | 2024.03.10 |
[Java/자바] 임시 폴더(Temp directory) 경로 가져오기 (0) | 2024.03.10 |
[Java/자바] 배열의 깊은 복사 (Deep copy) 예제 (0) | 2024.03.10 |