问题标签 [libphonenumber]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10337 浏览

android - 如何在Android中使用libphonenumber api从手机号码中获取国家代码

我在 android 项目中使用 libphonenumber api https://code.google.com/p/libphonenumber/,我正在使用以下代码获取国家代码

我的问题是:- -- 我有 +447870000000 这样的号码,但不知道国家/地区代码,但想从 +44 之类的号码中获取国家/地区代码,我怎样才能通过这个 api 获得它?

请帮助我提前谢谢

0 投票
2 回答
3425 浏览

android - 未找到导入 com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder 类

可能缺少一些愚蠢的东西,我猜我需要添加一些代码。但是我将以下jar 文件添加到我的项目中。用户输入电话号码,我可以检索国家电话代码,但我想检索国家名称以及 2 个字母的 ISO 国家代码。

PhoneNumberOfflineGeocoder应该用它的getCountryNameForNumber(PhoneNumber number, Locale language)方法做到这一点。但我不知道如何正确导入该类。

0 投票
1 回答
766 浏览

ruby-on-rails - Ruby 的 libphonenumber findNumbers 等价物

了解处理电话的这两个宝石:

  1. https://github.com/daddyz/phonelib
  2. https://github.com/sstephenson/global_phone

但是它们似乎都没有实现原始库中存在的findNumbers方法。

那么在 Ruby 中是否有任何替代方法来解析字符串并从给定文本中提取电话号码?

我的第一个虽然是使用正则表达式,但它无法处理不同国家的不同表示。

电话号码可以来自任何国家,尽管在解析之前我知道这些号码属于哪个国家。

0 投票
0 回答
246 浏览

android - 剥离电话号码预扣代码

我正在尝试清理 Android 中的电话号码。目前我正在使用谷歌著名的libphonenumber库,但我看不到任何从电话号码中删除保留代码(可能还有其他代码)的方法。一般来说,我说的是那些允许的代码(每个运营商或国家/地区),您可以在电话号码前添加以影响呼叫服务(使用特殊字符,如“#”、“*”或仅使用固定号码)。

其中有很多。例如,在欧洲,您可以在任何电话号码前输入#31# 以将您的号码隐藏给呼叫接收者。如果我尝试使用库解析包含此类代码的电话号码,则会引发异常:

关于如何做到这一点的任何想法?谢谢 !

0 投票
3 回答
5591 浏览

ios - 如何检测和添加丢失的电话区号?

如果我的 iPhone 通讯录中有一个 XXX-YYYY 形式的联系人,然后点击它进行拨号,那么 iPhone 会拨打号码 206-XXX-YYYY(206 是美国西雅图的区号,这是电话所在的位置拨号和正在拨打的电话都是)。

我有一个应用程序,它通过用户的联系人应用程序提取电话号码,我希望能够检测到何时缺少这样的区号,并像 iOS 本身一样添加它。

有人知道我该怎么做吗?

我知道 iPhone 的电话号码,例如 AAA-BBB-CCCC,所以我可以将 AAA-BBB-CCCC 与通讯簿中的电话号码进行比较,如果我看到类似 XXX-YYYY 的数字,那么我可以推断出) 缺少区号和 b) 缺少的区号必须与 iPhone 的区号相同,因此将 AAA 添加到 XXX-YYYY。

我知道这将是一个过于简单的解决方案,并且可能只适用于北美。

那么 iPhone 是如何做到的,是否有适用于所有国家的可扩展解决方案?

我知道 libPhoneNumber (以及它的 iOS 端口https://github.com/iziz/libPhoneNumber-iOS),但是通过它的 API,我看不到任何可以首先检测到是否缺少区号的东西电话号码。也许它在那里,但 iOS libPhoneNumber 端口没有被广泛记录。

有人遇到并解决了与此类似的问题吗?

0 投票
2 回答
2064 浏览

java - icu4j 太大了,有什么办法吗?

我在我的 android 代码中使用 icu4j。jar 大约 10MB,这导致我的整个应用程序注册了一个 15MB 的 apk。当然,15MB 可能是由于 Proguard 帮助减小了大小。无论如何,有人知道 icu4j 的较小替代品吗?我libphonenumber仅出于一个目的将 icu4j 与 icu4j 结合使用,此处对此进行了详细说明并在下面进行了复制:

你需要:

  • getSupportedRegions() 获取区域代码列表

  • getCountryCodeForRegion(regionCode) 获取每个国家/地区的呼叫代码(1、44 等)

然后要获得实际名称,您应该使用 ICU4J -> http://icu-project.org/apiref/icu4j/ --> 它会从这些地区代码中以您的用户所说的任何语言为您获取国家名称。(getDisplayCountry())

0 投票
2 回答
4934 浏览

ios - 如何在 iOS 中为不同的区域代码实时格式化电话号码(使用 UITextfield 时)?

我找到了“ NBAsYouTypeFormatter ”并参考了提供的演示。但是,我希望在用户在 UITextField 中输入电话号码时动态格式化电话号码。

请记住,在我的情况下,地区代码并不固定为一两个国家/地区,例如仅@“US”或仅其他国家/地区。区域代码将由用户从下拉列表中选择,所选代码将由我通过以下行传递:

现在,当用户输入数字文本字段时,我如何能够动态格式化数字文本字段?

0 投票
3 回答
7526 浏览

python - 为什么python phonenumbers 库在这种情况下不起作用?

似乎“5187621769”应该是 phonenumbers 库解析的一个非常容易的数字。它是美国区号的 10 位数字。但是……没有运气。

设置:

方法一:

这会引发错误。

方法二:

给出国家代码 = 51,这不是美国。

我知道我可以做到:

但我并不总是知道这个数字是美国(这只是我发现我没有得到想要的行为的一种情况)。有没有我缺少的选项或格式技巧?谢谢!

0 投票
1 回答
1851 浏览

android - 将 maven-release-plugin 添加到 Android Studio

我正在开发一个 Android 应用程序来处理电话号码,使用这个库:https ://github.com/googlei18n/libphonenumber/tree/master/java 。

这是我第一次尝试将库添加到 Android Studio,它正在成为一场噩梦。

我尝试将文件夹添加到 Android 中的新目录,并通过带有 pom.xml 文件的 Maven 项目选项卡添加它。
我知道我必须修改 build.gradle 文件以添加依赖项,但我不知道该怎么做。

0 投票
1 回答
955 浏览

android - 为什么使用 libphonenumber 库的不同设备(android 和 iOS)上相同国家的电话号码格式模式不同?

我为 iOS 和 Android 使用了相同的库,并使用相同的方法/代码来格式化电话号码

例如,相同的印度手机号码没有国家代码的 iOS 格式与 android SDK 不同

虽然在 iOS 和 Android 中使用相同的库格式化美国电话号码会产生类似的输出,但对于印度手机号码,输出会有所不同。