You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用python-phonenumbers库仅验证手机号、排除固定电话?

可以实现,python-phonenumbers 库内置了号码类型判断能力,你只需要在原有有效性校验的基础上,额外增加号码类型的判断即可排除固定电话。

phonenumbers.number_type() 方法会返回号码的类型枚举,其中 phonenumbers.PhoneNumberType.MOBILE 对应手机号码类型,库内已经内置了全球各国的手机号段规则,无需自行匹配号段。

修改后的参考代码如下:

import phonenumbers

# 注意不要使用list作为变量名,这是Python的内置关键字,会覆盖默认列表方法
number_list = [...] # 待校验的号码列表
country = "XX" # 替换为实际对应国家的二字码,例如CN代表中国、US代表美国
is_valid = []

for number in number_list:
    try:
        parsed_number = phonenumbers.parse(number, country)
        # 同时校验号码合法、且类型为手机号码
        is_valid_mobile = phonenumbers.is_valid_number(parsed_number) and \
            phonenumbers.number_type(parsed_number) == phonenumbers.PhoneNumberType.MOBILE
        is_valid.append(is_valid_mobile)
    except:
        is_valid.append(False)

可选适配说明:部分国家/地区存在部分号段无法明确区分是固定电话还是手机号码的情况,如果你需要兼容这类场景,可以把号码类型判断逻辑调整为同时匹配 MOBILE 和 FIXED_LINE_OR_MOBILE 两个枚举值即可。


内容的提问来源于stack exchange,提问作者Michal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:48:02