我一直在使用googles libphonenumber来执行美国电话号码的验证。现在我需要所有国家的国际支持。是否可以使用libphonenumber反向查找电话号码国家/地区代码?
假设数据库已保存英国号码+448456779463。是否有可能使用libphonenumber来检测该号码是否为英国?看来我只能检查数字的有效性,前提是我知道它的原产国。但是,如果你有数字并且不知道它的原籍国该怎么办?
答案 0 :(得分:2)
Twilio的Lookup工具在这里可能会有所帮助。
它将仅根据数字输入返回国家/地区代码,您可以通过API检索有关手机的其他信息。
https://www.twilio.com/docs/api/lookups
[披露:我为Twilio工作]
答案 1 :(得分:0)
您可以使用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))