[swift] PhoneNumberKit을 사용하여 전화번호 입력시 형식 유지하기

전화번호를 입력하는 과정에서 사용자가 입력한 값을 정해진 형식으로 유지하는 것은 매우 유용합니다. Swift에서는 PhoneNumberKit라는 라이브러리를 사용하여 전화번호 입력 시 형식을 유지할 수 있습니다. 이 튜토리얼에서는 PhoneNumberKit을 사용하여 전화번호 입력 시에 형식을 유지하는 방법을 알아보겠습니다.

PhoneNumberKit이란?

PhoneNumberKit은 iOS용으로 개발된 오픈 소스 라이브러리로, 전화번호를 파싱하고 유효성을 검사하는 기능을 제공합니다. PhoneNumberKit을 사용하면 자동으로 국가 코드나 지역 번호를 포함한 정해진 형식으로 전화번호를 변환할 수 있습니다.

PhoneNumberKit 설치하기

PhoneNumberKit은 CocoaPods를 통해 설치할 수 있습니다. Podfile에 아래의 코드를 추가하고, Terminal에서 pod install 커맨드를 실행하여 설치하세요.

pod 'PhoneNumberKit'

그리고 프로젝트에서 import PhoneNumberKit을 추가해주세요.

전화번호 형식 유지하기

PhoneNumberKit을 사용하여 전화번호를 형식에 맞게 유지하는 방법은 다음과 같습니다.

import PhoneNumberKit

func formatPhoneNumber(number: String) -> String? {
    let phoneNumberKit = PhoneNumberKit()
    
    do {
        let phoneNumber = try phoneNumberKit.parse(number)
        let formattedNumber = phoneNumberKit.format(phoneNumber, toType: .international)
        return formattedNumber
    } catch {
        print("Invalid phone number")
        return nil
    }
}

위의 코드에서 formatPhoneNumber 함수는 입력된 전화번호를 파싱하고, 형식에 맞게 변환한 뒤 반환합니다. PhoneNumberKit 인스턴스를 생성하고, parse 메서드를 사용하여 전화번호를 파싱한 후, format 메서드를 사용하여 지정된 형식으로 변환합니다.

예제

let phoneNumber = "+821012345678"
let formattedNumber = formatPhoneNumber(number: phoneNumber)

if let formattedNumber = formattedNumber {
    print(formattedNumber) // 출력: "+82 10-1234-5678"
}

위의 예제에서는 입력된 전화번호인 “+821012345678”을 formatPhoneNumber 함수로 전달하여 형식에 맞게 변환한 뒤, 출력합니다. 출력 결과는 “+82 10-1234-5678”로 나타납니다.

결론

PhoneNumberKit을 사용하면 전화번호 입력 시에 형식을 유지할 수 있습니다. PhoneNumberKit을 설치하고, parseformat 메서드를 사용하여 전화번호를 파싱하고 형식에 맞게 변환하는 방법을 알아보았습니다. 이를 활용하여 사용자가 입력한 전화번호를 원하는 형식으로 유지할 수 있습니다.

더 자세한 사용 방법 및 기능은 PhoneNumberKit GitHub 페이지에서 확인할 수 있습니다.