V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
silov
V2EX  ›  程序员

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

  •  
  •   silov · 2017-01-05 17:34:53 +08:00 · 1995 次点击
    这是一个创建于 2870 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如

    +1767659876

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

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

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

    有各种语言的版本,用就好了。
    silov
        6
    silov  
    OP
       2017-01-05 18:39:04 +08:00
    @isCyan 👌非常感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5259 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:24 · PVG 17:24 · LAX 01:24 · JFK 04:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.