[swift] PhoneNumberKit을 사용하여 특정 국가의 전화번호 길이 검증하기

휴대폰 번호는 각 국가마다 다른 길이와 형식을 가지고 있습니다. Swift에서 PhoneNumberKit이라는 라이브러리를 사용하면 이러한 국가별 전화번호 형식을 쉽게 확인할 수 있습니다. 이번 글에서는 PhoneNumberKit을 사용하여 특정 국가의 전화번호의 길이를 검증하는 방법에 대해 알아보겠습니다.

PhoneNumberKit 라이브러리 설치

PhoneNumberKit은 Swift에서 전화번호 관련 작업을 쉽게 처리할 수 있도록 도와주는 라이브러리입니다. 먼저 PhoneNumberKit을 프로젝트에 추가해야합니다.

Swift Package Manager를 사용하는 경우:

  1. Xcode에서 프로젝트를 엽니다.
  2. File → Swift Packages → Add Package Dependency…를 선택합니다.
  3. 패키지 URL 필드에 https://github.com/marmelroy/PhoneNumberKit.git을 입력하고 Next를 클릭합니다.
  4. Rules를 유지하고 Finish를 클릭하여 패키지를 추가합니다.

CocoaPods를 사용하는 경우:

  1. 터미널을 열고 프로젝트 디렉토리로 이동합니다.
  2. Podfile을 생성하여 편집합니다.
  3. 다음과 같이 pod 'PhoneNumberKit'을 추가합니다:
target 'YourTargetName' do
  use_frameworks!
  pod 'PhoneNumberKit'
end
  1. 터미널에서 다음 명령을 실행하여 라이브러리를 설치합니다:
pod install

국가별 전화번호 길이 검증하기

PhoneNumberKit을 사용하기 위해 다음 코드를 프로젝트에 추가합니다:

import PhoneNumberKit

let phoneNumberKit = PhoneNumberKit()
let phoneNumber = "+821012345678" // 검증할 전화번호 입력
let region = "KR" // 검증할 국가 코드 입력

do {
    let parsedPhoneNumber = try phoneNumberKit.parse(phoneNumber, withRegion: region)
    
    if phoneNumberKit.isValidNumber(parsedPhoneNumber) {
        print("전화번호가 유효합니다.")
        
        let numberType = phoneNumberKit.getNumberType(parsedPhoneNumber)
        print("전화번호 유형: \(numberType)")
        
        let formattedNumber = phoneNumberKit.format(parsedPhoneNumber, toType: .e164)
        print("포맷된 전화번호: \(formattedNumber)")
    } else {
        print("전화번호가 유효하지 않습니다.")
    }
} catch {
    print("전화번호 파싱에 실패하였습니다.")
}

위 코드에서 전화번호는 "+821012345678"과 같이 “+국가코드 전화번호” 형식으로 입력되어야합니다. 검증할 국가의 국가 코드는 region 변수에 입력해야합니다.

PhoneNumberKitparse 메서드를 사용하여 전화번호를 구문 분석하고, isValidNumber 메서드를 사용하여 유효한 전화번호인지 확인할 수 있습니다. 만약 전화번호가 유효하다면, getNumberType 메서드를 사용하여 전화번호의 유형을 확인하고, format 메서드를 사용하여 포맷된 전화번호를 얻을 수 있습니다.

위의 코드에서는 한국(KR)의 전화번호를 검증하고 있습니다. 다른 국가의 전화번호를 검증하려면 region 변수를 해당 국가의 국가 코드로 변경하면 됩니다.

참고 자료