快速从用户电话号码中获取电话国家代码

Posted

技术标签:

【中文标题】快速从用户电话号码中获取电话国家代码【英文标题】:Getting the Phone Country Code from users phone number in swift 【发布时间】:2017-05-29 12:36:18 【问题描述】:

您好,我有一个 ios 应用程序,用户可以在其中使用 Digists 进行身份验证。

当您通过 Digists 进行身份验证时,您会获得电话号码的字符串值。

我想知道是否有任何方法可以使用此电话号码字符串找出用户的区域设置/电话代码。

例如: 假设用户有一些法国 sim 卡号码并前往英国。然后他使用 Digits 在我们的应用中进行身份验证。

假设他的电话号码是 +33509758351。有没有办法找出电话号码 +33509758351 的电话代码是 +33 或找出该电话号码的 Local 是 FR?

我知道有像 PhoneNumberKit 这样的库可用于根据区域设置验证电话号码,但我似乎找不到可以根据电话号码字符串为我提供用户的区域设置/电话代码的库。

【问题讨论】:

【参考方案1】:

试试这个代码:

let phone : String = "your phone with carrier region"
let phonUtil = NBPhoneNumberUtil()
do 
    let nbPhone : NBPhoneNumber = try phonUtil.parse(withPhoneCarrierRegion: phone)
    var countryCode : NSNumber = phoneStep1.countryCode
catch
    //Phone Number Invalid!

【讨论】:

以上是关于快速从用户电话号码中获取电话国家代码的主要内容,如果未能解决你的问题,请参考以下文章

如何使用javascript从当前位置查找用户电话国家代码

iOS如何查找用户电话号码的国家代码?

从电话号码中查找国家代码

如何从电话号码中删除“+”和国家代码?

如何从 C# 中的电话号码获取 UTC 偏移量

Android - 电话号码格式化和删除国家/地区代码