[swift] PhoneNumberKit을 사용하여 전화번호 입력시 중복 방지하기

전화번호 입력 폼에서 중복된 번호를 방지하려면 PhoneNumberKit을 사용하여 유효한 전화번호를 확인할 수 있습니다. PhoneNumberKit은 Swift에서 전화번호를 파싱하고 유효성을 검사하는 데 사용하는 유명한 라이브러리입니다.

PhoneNumberKit 설치

PhoneNumberKit을 사용하려면 프로젝트에 다음과 같이 CocoaPods를 통해 라이브러리를 설치해야 합니다. Podfile에 다음 라인을 추가하고 pod install 명령을 실행합니다.

pod 'PhoneNumberKit'

전화번호 유효성 검사

PhoneNumberKit을 사용하여 전화번호 유효성을 검사하려면 다음과 같이 코드를 작성할 수 있습니다.

import PhoneNumberKit

func validatePhoneNumber(number: String) -> Bool {
    let phoneNumberKit = PhoneNumberKit()
    
    do {
        let phoneNumber = try phoneNumberKit.parse(number)
        let isValid = phoneNumberKit.isValidNumber(phoneNumber)
        return isValid
    } catch {
        return false
    }
}

위의 코드에서 validatePhoneNumber 함수는 전화번호를 입력받아 PhoneNumberKit을 사용하여 유효성을 검사합니다. 유효한 전화번호인 경우 true를 반환하고 그렇지 않은 경우 false를 반환합니다.

중복 번호 확인

전화번호를 입력할 때마다 중복된 번호인지 확인하기 위해 이전에 입력된 번호들을 저장해야 합니다. 예를 들어, 배열이나 데이터베이스에 전체 전화번호 목록을 저장할 수 있습니다.

var phoneNumbers = [String]()

func checkDuplicatePhoneNumber(number: String) -> Bool {
    if phoneNumbers.contains(number) {
        return true
    } else {
        let isValid = validatePhoneNumber(number: number)
        if isValid {
            phoneNumbers.append(number)
        }
        return !isValid
    }
}

checkDuplicatePhoneNumber 함수는 입력된 전화번호가 이미 저장된 목록에 있는지 확인합니다. 만약 리스트에 이미 있는 번호라면 중복된 번호로 인식하여 true를 반환합니다. 그렇지 않은 경우, 번호의 유효성을 검사하고 유효한 경우 새로운 번호를 리스트에 추가한 후 false를 반환합니다.

이제 전화번호 입력 폼에 checkDuplicatePhoneNumber 함수를 사용하여 중복된 번호를 확인할 수 있습니다.

let inputNumber = "012-3456-7890"

if checkDuplicatePhoneNumber(number: inputNumber) {
    print("중복된 전화번호입니다.")
} else {
    print("유효한 전화번호입니다.")
}

위의 예제에서는 inputNumber 변수에 입력된 전화번호를 검사하고 결과에 따라 메시지를 출력합니다.

결론

PhoneNumberKit을 사용하여 전화번호 입력 시 중복을 방지하는 방법을 알아보았습니다. PhoneNumberKit은 Swift에서 전화번호를 처리하는 데 편리하고 신뢰성있는 라이브러리입니다. 전화번호의 유효성을 검사하고 중복된 번호를 확인하는 함수를 사용하여 사용자가 유효한 전화번호를 입력할 수 있도록 도와줍니다.

참고문헌: