코틀린에서 휴대폰 번호와 지역 전화번호를 일관된 형식으로 변환해야 할 때, 정규식(Pattern, Matcher)을 활용하면 효율적으로 처리할 수 있습니다. 이 함수는 입력된 문자열이 유효한 전화번호 패턴인지 확인하고, 필요하다면 특수문자를 제거하여 표준화된 형태로 반환합니다.
코틀린 전화번호 형식 정규식 패턴
전화번호 형식은 다양하지만, 일반적으로 '지역번호-국번-끝번호' 또는 '휴대폰번호 앞자리-국번-끝번호' 형태로 구성됩니다. 코틀린에서는 `java.util.regex.Pattern`과 `Matcher`를 사용하여 이러한 패턴을 정의하고 검증할 수 있습니다. 예를 들어, `^(\d{2}|\d{3})-(\d{3}|\d{4})-\d{4}$` 패턴은 2~3자리 지역번호 또는 휴대폰 번호 앞자리, 3~4자리 국번, 그리고 4자리 끝번호로 이루어진 전화번호 형식을 포괄적으로 검사합니다. 이 정규식은 다양한 지역번호(예: 02, 054)와 휴대폰 번호(예: 010)를 모두 처리할 수 있어 유연성이 높습니다. 실제 개발 환경에서 이 패턴을 적용하면, 사용자 입력이나 외부 데이터에서 받은 전화번호를 표준화하는 데 유용합니다.
위 이미지는 코틀린에서 전화번호 형식 검증에 사용되는 정규식 패턴의 예시를 시각적으로 보여줍니다. 패턴 문자열과 매칭 과정을 통해 유효성을 확인하는 과정을 나타냅니다.
정규식으로 전화번호 특수문자 제거 및 포맷팅
관련 글
전화번호 입력 시 사용자가 실수로 공백, 하이픈(-) 또는 기타 특수문자(!@#$%^&*().,?:;/_{}+=-)를 포함할 수 있습니다. 코틀린의 `replace` 함수와 정규식을 결합하면 이러한 불필요한 문자들을 효과적으로 제거할 수 있습니다. 예를 들어, `replace( "[ !@#$%^&*().,?:;/_{}+=-\"]".toRegex(), "" )`와 같이 작성하면 지정된 특수문자들을 모두 빈 문자열로 치환하여 전화번호만 남길 수 있습니다. 또한, `replace(" ".toRegex(), "")`를 사용하여 공백까지 제거하면, 숫자만으로 구성된 전화번호 문자열을 얻게 됩니다. 이렇게 정제된 전화번호는 이후 데이터베이스 저장이나 다른 시스템과의 연동 시 일관성을 유지하는 데 도움을 줍니다. 개인 상황에 따라서는 특정 형식(예: 010-1234-5678)으로 강제 변환하는 추가 로직이 필요할 수 있으므로, 개발 시 요구사항을 명확히 하는 것이 중요합니다.
전화번호 형식 맞추기, 정규식으로 해결하세요.






