如何将手机号码拆分为国家代码,区号和本地号码?

2022-09-02 02:08:15

如何将手机号码拆分为国家代码,区号和本地号码?例如+919567123456拆分后

国家代码 = 91

区号 = 9567

本地编号 = 123456


答案 1

不要维护你自己的所有这些数据的表!使用“Java 国际电话号码实用程序库 v3.0”,https://github.com/googlei18n/libphonenumber。这就是谷歌使用的东西,谷歌为你维护它!


答案 2

使用简单的算法解析电话号码是不可能的,您需要使用填充了每个国家/地区规则的数据表 - 因为每个国家/地区的电话号码分隔方式不同。

国家/地区代码相当容易,只需使用维基百科中国家/地区调用代码文章中的数据,并构建所有唯一国家/地区代码的表格即可。每个国家/地区都有唯一的前缀,因此这很容易。

但是,您需要查找要支持的每个国家/地区的规则,并使用每个国家/地区的规则提取区号。


推荐