我一直在使用 googles libphonenumber 来验证美国电话号码。现在我需要所有国家的国际支持。是否可以使用 libphonenumber 反向查找电话号码国家代码?
假设数据库保存了英国号码 +448456779463。是否可以通过 libphonenumber 来检测该号码是否为英国?看来我只能检查号码的有效性,前提是我首先知道它的原产国。但是,如果您有数字并且不知道其原产国怎么办?
我一直在使用 googles libphonenumber 来验证美国电话号码。现在我需要所有国家的国际支持。是否可以使用 libphonenumber 反向查找电话号码国家代码?
假设数据库保存了英国号码 +448456779463。是否可以通过 libphonenumber 来检测该号码是否为英国?看来我只能检查号码的有效性,前提是我首先知道它的原产国。但是,如果您有数字并且不知道其原产国怎么办?
Twilio 的查找工具在这里可能会有所帮助。
它将仅根据输入的数字返回国家代码,您可以通过 API 检索有关电话的其他信息。
https://www.twilio.com/docs/api/lookups
[披露:我为 Twilio 工作]
您可以使用libphonenumber
.
以下是python中的示例
import phonenumbers
number = "+44XXXXXXXX"
obj = phonenumbers.parse(number)
# get line type
phonenumbers.number_type(obj)
# validate phone
phonenumbers.is_valid_number(obj)
# validate phone for region
phonenumbers.is_valid_number_for_region(obj, "GB")
# get country name
from phonenumbers.geocoder import country_name_for_number
country_name_for_number(obj, "en")
我认为以下是您所期待的,
from phonenumbers.geocoder import region_code_for_number
phonenumbers.is_valid_for_region(obj, region_code_for_number(obj))