问题标签 [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 投票
1 回答
1427 浏览

c# - PhoneNumberUtil libphonenumber 拨打不带前缀的国际号码

使用 googles PhoneNumberUtil,c# 移植版本我正在尝试拨打如下号码

441392200200(缺少加号(+)前缀)

它的开头显然有缺失的加号,即应该是+441392200200

这个库中是否有我忽略的自动更正号码的功能,以便它实际上匹配一个有效号码,我可以简单地添加加号,但考虑到全局拨号规则,它有点复杂,我不知道号码应该多长是添加加号

有什么想法吗?

0 投票
3 回答
7473 浏览

google-closure - 如何在本地托管 google libphonenumber?

在我的本地主机上进行开发期间,我正在尝试自行托管libphonenumber库。我正在尝试以下内容:

这是可行的,但我仍然依赖于外部托管的组件:闭包库。我尝试过使用closure-lite,它(显然,我是新来的)闭包库的一个非常完整的版本,可用于自托管。我尝试过执行以下操作:

goog.proto2.Message不可用。我收到以下错误:

错误来自phonemetadata.pb.js脚本:

我该怎么做才能完全自托管libphonenumber

0 投票
1 回答
1827 浏览

android - 如何在 Android 中删除 Dash 表单电话号码格式 XXX-XXX-XXXX

谁能帮我解决这个问题。?我在电话号码之间添加了破折号(-)。下面我提到了我的代码。

// 从这里移除

现在我想在按下后退按钮时删除破折号(-)。就我而言,我无法做到这一点。假设如果我插入了 3 个字符,那么 Dash 将在这三个数字之后自动添加,然后如果我按下后退按钮,我将无法删除破折号,甚至连破折号之前的三个数字也无法删除。

我必须选择所有文本,然后我必须按删除然后它会删除..但是使用退格键我无法删除它..那我该怎么做。任何人都可以给我这个的代码答案..?

在此先感谢,JT。


从这里更新

0 投票
1 回答
2314 浏览

javascript - 如何格式化字符串中的所有电话号码(javascript)

我需要格式化在源字符串中找到的电话号码,保留源字符串中数字的位置

我有一个包含电话号码列表的任意字符串。它们不规则地列出,穿插着各种标记和标点符号,例如:

  • mobile:手机号码前的标记
  • tel.:通常在电话之前标记。它可以是任何版本,例如Tel:, tel. :, tel., TEL:。它可以以任何数量出现在任何地方。
  • ,, ., {space},{tab}作为分隔符。

一般来说,源字符串中的“电话号码”是一个符合正则表达式的字符串:

/[0-9 +()-]+/

因此,我可以使用上述正则表达式成功匹配源字符串中的所有电话。但是,我不能只做 AFAIK str.replace(regexp, replacement),因为数字的处理将由libphonenumber完成。

我必须保留数字周围的所有噪音,因为它并不总是噪音。或者我只是统一地重新格式化整个字符串。

我想,这个问题可以推断如下:如何将函数映射到正则表达式找到的所有子字符串上,但没关系。

有什么办法可以做上面描述的事情吗?目标语言是 Javascript(确切地说,是 Adob​​e Illustrator 脚本引擎可解析的那种 Javascript)。

例子

语言是俄语。电话的强制格式是“国际”(在 libphonenumber 文档中如何调用)。


输入:Тел: (343) 378-33-00, моб.: +7(904) 54-73-818

期望的输出:Тел: 8 (343) 378-33-00, моб.: 8 (904) 547-38-18

这里只是重新格式化数字。令牌Тел:, моб.:保持原样。


输入: 8(495) 941 93 20 моб. 8 915-295-62-86

期望的输出:8 (495) 941-93-20 моб. 8 (915) 295-62-86

在这里,我们也只是重新格式化了数字。令牌моб及其周围的空间保持原样。


输入:Тел: 8(495) 685-95-95 доб.:4093, моб.: +7(916) 885-11-58

期望的输出:Тел: 8 (495) 685-95-95 доб.:4093, моб.: 8 (916) 885-11-58

不要关心空格折叠或正确放置标点符号,它将在处理的后期阶段完成。


0 投票
1 回答
3811 浏览

grails - 是否可以以编程方式区分美国和加拿大的电话号码?

我正在使用这段代码(在 Groovy 中,但应该很清楚它的作用)

运行mobileNumberUtilService.getISOCountryCode('<internationalized American or Canadian number>')返回[US, AG, AI, AS, BB, BM, BS, CA, DM, DO, GD, GU, JM, KN, KY, LC, MP, MS, PR, SX, TC, TT, VC, VG, VI]

除了某种网络服务查找之外,有什么方法可以区分这些吗?

0 投票
2 回答
1982 浏览

android - 16以内的Android API获取E 164格式的联系人

我使用以下代码从电话中检索联系人号码列表:

在 API 16 及更高版本中,这对我来说非常有用,因为我希望所有联系人都以 E 164 格式格式化,无论用户如何存储它们。

  1. 但是,对于低于 16 的 API,上述代码将不起作用,并且我无法使用以下行获取所有联系人的 E 164 格式:

“PhoneNumberUtils”类不能派上用场。

此外,我无法使用libphonenumber库将数字转换为 E 164 格式,因为我不知道联系人的 ISO 3166-1 两个字母国家代码。

有什么方法可以为 Android 中的每个联系人获取 ISO 3166-1 两个字母的国家/地区代码,以便我可以使用 libphonenumber 库?

或者是否有任何其他解决方案可以实现第 1 点。?

从电话中检索到的号码可以是任何格式,例如。

  • 本地 : 965XXXXXXX
  • 国家 : 0965XXXXXXX
  • 国际:+91 96 5X XXXXXX
  • 和别的

而 E 164 是 +91XXXXXXXXXX,其中 91 是国家代码。

任何帮助将非常感激 !

0 投票
1 回答
258 浏览

javascript - 获取未捕获的类型错误对象没有这样的方法 getExampleNumber - libphonenumber

我正在尝试使用 Google Javascript 库 liibphonenumber 来返回给定区域代码的示例编号。

我在 JSP 文件的一个块中调用它:

返回的错误是:

我在 JSP 的顶部包括:

甚至尝试把

在与调用相同的脚本块中。

非常感谢所有帮助!

谢谢。

莱斯

0 投票
6 回答
20916 浏览

android - android:如何将数字格式化为带括号的电话

我有一个需要格式化为电话号码的号码。如果我做

然后我得到

但我需要得到的是

我如何获得第二个?有标准的android方式吗?

0 投票
2 回答
6367 浏览

libphonenumber - 仅在可能的情况下转换为 E164?

我能否确定用户输入的电话号码是否可以安全地格式化为 E164?

对于德国,这要求用户以本地区号开始其输入。例如,123456可能是他所在城市的用户号码,但无法格式化为 E164,因为我们不知道他的本地区号。然后我想保持条目不变。相反,输入089123456与区号无关,可以格式化为 E164,因为我们知道他来自德国,我们可以将其转换为+4989123456.

0 投票
1 回答
3298 浏览

java - 在给定国家代码的情况下规范电话号码

我有一个电话号码和一个与之关联的ISO 国家代码。例如,CA 代表加拿大,US 代表美国,GB 代表英国。

电话号码可能不仅仅包含区号和您的电话号码。

libphonenumber提供确定电话号码是否有效的功能,给定国家代码,所以我认为应该有一种方法来规范它。

该库是否为我提供了一种将其转换为可以正确区分拨号代码、区号和电话号码本身的对象的方法?例如:给定一个英国电话号码的形式+44 20 xxxx xxxx,我希望它与和44分开20xxxx xxxx

我看到了一些规范化方法,但它们只是删除了连字符、括号和空格等字符。