【问题标题】:Extract country code from phone number in flutter从颤振中的电话号码中提取国家代码
【发布时间】:2021-04-25 13:33:48
【问题描述】:

我的电话号码为字符串,例如“+91 96001 64500”,(从 google 地方 API 获取数据) 我想提取电话号码(不包括国家代码)以及国家代码,不知道国家(国家可以是任何国家)。 我该如何在颤振中做到这一点。

注意:Extract code country from phone number [libphonenumber] 已经提出了另一个完全相同的问题,但它是针对 android 的,我希望它用于颤振。

【问题讨论】:

  • 如果您也有 iOS 解决方案,您可以在 Flutter 的各自平台代码中使用特定于平台的解决方案。为什么要提取国家代码?我要求更好地了解情况。也许在单独的字段中输入国家/地区代码会更好,或者来自用户选择的国家/地区。
  • 一个难点是国家代码的长度不同,可以是+1、+45、+212等等。
  • @Doh09 我正在做一个项目,我从 Google Place API 获取数据,我需要解析数据并分别显示国家代码和电话号码。我没有从用户那里得到输入,它来自 Google Places API 本身,所以不能像你说的那样在单独的字段中输入国家代码。
  • Google API 是否不提供国家名称、“美国”等代码或其他数据(例如可能指示位置的坐标)?

标签: flutter libphonenumber


【解决方案1】:

您可以将所有国家/地区代码保存到列表中(例如从此处https://gist.githubusercontent.com/Goles/3196253/raw/9ca4e7e62ea5ad935bb3580dc0a07d9df033b451/CountryCodes.json)并对其进行循环。 如果您的电话号码的第一个字母等于该符号 - 这是您的国家代码。其余为电话号码) 列表必须按长度降序排列。

【讨论】:

【解决方案2】:

由于您提到可以访问国家/地区字母。然后只需使用键值变量类型。例如哈希图。将键设置为国家字母,将值设置为电话代码。例如,“US”作为键会导致“+1”作为值。

点击此链接了解更多关于 dart(Flutter 中使用的编程语言)中的 hashmap 的信息:https://api.dart.dev/stable/2.10.4/dart-collection/HashMap-class.html

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2015-06-27
    • 1970-01-01
    相关资源
    最近更新 更多