Posted at

Swift から libPhoneNumber-iOS を使い有効な電話番号か確認するには

More than 1 year has passed since last update.


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 を使っている場合、バリデーションロジックを統一することができるためオススメです。