자바에서 휴대폰 및 지역 전화번호를 일관된 형식으로 포맷팅해야 한다면, Pattern과 Matcher를 활용한 정규식 사용법을 익히는 것이 필수적입니다. 이 방법은 입력된 전화번호 문자열이 유효한 패턴인지 검증하고, 필요에 따라 하이픈(-)을 추가하여 가독성을 높입니다.
자바 전화번호 포맷팅을 위한 정규식 활용법
자바에서 전화번호 문자열을 다룰 때, `java.util.regex` 패키지의 `Pattern`과 `Matcher` 클래스는 강력한 도구입니다. `Pattern`은 정규식 자체를 컴파일하고, `Matcher`는 이 컴파일된 패턴을 특정 문자열에 적용하여 매칭 여부를 확인합니다. 예를 들어, 휴대폰 번호(010-1234-5678)나 지역 번호가 포함된 전화번호(02-1234-5678, 054-123-4567) 등 다양한 형식을 하나의 정규식으로 검증할 수 있습니다. 이를 통해 잘못된 형식의 전화번호 입력을 방지하고, 일관된 데이터 관리가 가능해집니다. 실제 개발 환경에서는 사용자 입력값의 유효성을 검증하는 데 이 기법이 빈번하게 사용됩니다.
위 이미지는 정규식을 사용하여 전화번호 형식을 검증하는 과정을 시각적으로 보여줍니다. 좌측의 입력 문자열이 우측의 정규식 패턴과 일치하는지 여부를 판단하여, 유효한 전화번호 형식인지 아닌지를 판별하는 데 도움을 줍니다.
전화번호 형식 검증 및 정규식 패턴 예시
관련 글
전화번호 포맷팅을 위해 가장 중요한 것은 유효한 정규식 패턴을 정의하는 것입니다. 휴대폰 번호와 지역 전화번호를 모두 포괄하는 일반적인 패턴은 `^(\d{2}|\d{3})-(\d{3}|\d{4})-\d{4}$`와 같이 작성할 수 있습니다. 이 패턴은 다음과 같은 의미를 가집니다: `^`는 문자열의 시작, `(\d{2}|\d{3})`는 두 자리 또는 세 자리 숫자로 시작하는 지역 번호, `-`는 하이픈 구분자, `(\d{3}|\d{4})`는 세 자리 또는 네 자리 중간 번호, `\d{4}`는 네 자리 끝 번호, 그리고 `$`는 문자열의 끝을 나타냅니다. `Matcher.matches()` 메소드는 입력 문자열 전체가 이 패턴과 정확히 일치하는지 여부를 반환합니다. 만약 패턴과 일치하지 않는 경우, 특수문자를 제거하거나 다른 방식으로 전처리하는 로직을 추가할 수 있습니다. 예를 들어, `replaceAll` 메소드를 사용하여 불필요한 특수문자를 제거하는 등의 작업이 가능합니다. 개인의 개발 환경이나 요구사항에 따라 정규식 패턴은 얼마든지 수정 및 확장될 수 있습니다.
자세한 전화번호 포맷팅 방법은 원본 글에서 확인하세요.






