关于电话国际区号,问个问题

2017-01-05 17:34:53 +08:00
 silov
比如

+1767659876

+1 是北美的, +1767 是 Dominica 的,如何用代码判断这个号码到底是“+1 767659876 ” 还是 “+1767 659876 ”呢?
2001 次点击
所在节点    程序员
6 条回复
Showfom
2017-01-05 17:42:10 +08:00
+1. 就行了
0TSH60F7J2rVkg8t
2017-01-05 17:43:24 +08:00
美国的电话号码是
+1 (xxx)xxx-xxxx
你这个号码用这个格式套不上,少一位,感觉应该是+1767 xxx-xxx
silov
2017-01-05 17:54:15 +08:00
@Showfom @ahhui

我这个号码是举个例子,并不是直接区分这一个号码,我想要的是一个规则,对所有的国际区号有效。

另外号码是第三方接口平台提供的,格式我这边决定不了,只能去解析。。。
JJaicmkmy
2017-01-05 18:09:05 +08:00
所有北美洲的国际区号都是+1 ,区别只是后面的区号
比如:
美国-纽约:+1 (212)xxx-xxxx
加拿大-安大略:+1 (613)xxx-xxxx
多米尼加-圣多明各:+1(809)xxx-xxxx
所以只要判断区号(第二到四位)就可以了。
isCyan
2017-01-05 18:24:32 +08:00
https://github.com/googlei18n/libphonenumber

有各种语言的版本,用就好了。
silov
2017-01-05 18:39:04 +08:00
@isCyan 👌非常感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/332469

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX