TL; DR
- libPhoneNumber-iOS を使うと、簡単に有効な電話番号か判定可能
- libPhoneNumber-iOS は Google 製の libphonenumber を移植したもの
導入
Cocoapods もしくは Carthage にて導入できます。
Podfile
pod 'libPhoneNumber-iOS', '~> 0.8'
Cartfile
github "iziz/libPhoneNumber-iOS"
利用方法
libPhoneNumber-iOS を使うと、電話番号 を受け取り 有効な電話番号か を返す関数は、Swift 3 で下記のように記述できます。
電話番号のパース自体に失敗した場合も、無効な電話番号としています。
import libPhoneNumber_iOS
func isValidNumber(_ phoneNumber: String) -> Bool {
let phoneUtil = NBPhoneNumberUtil()
do {
let phoneNumber = try phoneUtil.parse(phoneNumber, defaultRegion: "JP")
return phoneUtil.isValidNumber(phoneNumber)
} catch { }
return false
}
まとめ
libPhoneNumber-iOS を使うと、Swift から簡単に有効な電話番号か判定できます。
特に、サーバー側での判定に libphonenumber を使っている場合、バリデーションロジックを統一することができるためオススメです。