Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 프론트엔드
- 심장질환
- 사망
- 납입
- PythonProgramming
- 특약
- 보험
- 문자열
- 추가납입
- 수수료
- 인출수수료
- 교보
- 교보생명
- 급성심근경색증
- 뇌출혈
- python
- 중도인출
- 보험료
- 프로그래밍
- jQuery
- 파이썬
- Java
- 리스트
- 가입
- Vue.js
- 웹개발
- 코딩
- 자바스크립트
- javascript
- 변환
Archives
- Today
- Total
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 |