【发布时间】:2021-12-29 13:35:29
【问题描述】:
我正在使用libphonenumber 谷歌图书馆将国际电话号码转换为国内号码。
var phoneNumberUtil = PhoneNumberUtil.getInstance();
var phoneNumber = phoneNumberUtil.parse(internationalPhoneNumber, null);
var formattedPhoneNumber = phoneNumberUtil.format(phoneNumber, PhoneNumberUtil.PhoneNumberFormat.NATIONAL).replaceAll("\\s", "");
internationalPhoneNumber 的示例是“+919744012345”
我期待的formattedPhoneNumber 是“9744012345”(See the Mobile telephone numbering in India),但相反,我得到的是“09744012345”,前导零。
如何正确转换国际电话号码?
【问题讨论】:
-
在大多数国家/地区,前导“0”是国家电话号码的一部分。猜猜,你正在使用的库正是这样做的。
-
"在书面电话号码中,经常会看到区号以“0”开头。“0”是印度用于拨打国内长途电话的国家直拨 (NDD) 代码. 如果您正在拨打国际电话并且有一个以“0”开头的号码,则需要将其删除。” - 国际号码没有 0(在 +91 和 97 之间),您的本地号码有前导 0,所以我觉得没问题。但是,如果您愿意,您也可以从印度国家号码中删除前导 0。
标签: java phone-number libphonenumber