[swift] PhoneNumberKit을 사용하여 전화번호 입력시 형식 자동 수정하기

휴대전화번호나 전화번호를 입력할 때 많은 사람들이 형식을 지키지 않는 경우가 있습니다. 이를 해결하기 위해서는 사용자가 전화번호를 입력할 때 자동으로 형식을 지정해주는 기능이 필요합니다.

이를 위해 Swift에서는 PhoneNumberKit라는 유용한 라이브러리를 사용할 수 있습니다. 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: .e164)
        return formattedNumber
    } catch {
        print("Invalid phone number: \(error.localizedDescription)")
        return nil
    }
}

let inputNumber = "01012345678"
if let formattedNumber = formatPhoneNumber(number: inputNumber) {
    print("Formatted phone number: \(formattedNumber)")
}

위 예시 코드에서는 PhoneNumberKit을 사용하여 입력받은 전화번호를 파싱하고, .e164 형식으로 자동으로 수정합니다. 만약 입력받은 전화번호가 유효하지 않다면 에러를 출력합니다.

PhoneNumberKit을 사용하면 사용자가 전화번호를 잘못 입력하더라도 자동으로 형식을 수정해주기 때문에 편리합니다. PhoneNumberKit을 통해 전화번호 입력 시 형식을 자동으로 수정하는 기능을 구현할 수 있습니다.

참고 자료