Python-输入一串字符,判断是否为手机号码

输入一串字符,判断输入的手机号码是否有效

问题分析:

1、用Phone表示输入的字符串。

2、手机号码的第一个特点,就是字符串全部都是数字字符,我们可以使用isnumeric0函数来对此进行判断。

3、手机号码的第二个特点是号码长度为11。现在国内运营商开通的有效手机号码网段如下。

4、移动网段:134、 135、136、137、138、139、150、151、152、 157、158. 159、182、183、 184、187、188、 147、 178

联通网段:130、 131、132、155、156、185、186、145、 176、179

电信网段:133、 153、180、181、189、177

5、可以将上面所有的网段放到列表hmd中,并判断字符串Phone的头三个数字字符是否在列表hmd中,从而判断字符串Phone 是否为有效的手机号码。在判断时一定要注意类型问题,Phone 是字符串,列表hmd中的元素如果是数字的话,就需要先进行类型转换,之后再进行判断。

hmd=[134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,

130,131,132,155,156,185,186,145,176,179,

133,153,180,181,189,177]#列表

Phone=input("输入手机号码:")

if Phone.isnumeric():#判断Phone是否全部都是数字字符

if len(Phone)==11:#判断手机号是否为11位

if int(Phone[0:3])in hmd:#如果输入的手机号前三位数字在列表中,则输出"是一个有效号码"

print(Phone,"是一个有效号码")

else:#如果输入的手机号前三位数字不在列表中,则输出"不是有效运营商网段"

print(Phone,"不是有效运营商网段")

else:#如果手机号不是11位,则输出"号码位数不对!"

print(Phone,"号码位数不对!")

else:#如果输入的手机号字符串不全是数字,则输出"号码必须全是数字"

print(Phone,"号码必须全是数字")

程序运行结果:

使用Python 提供的第三方库Phone,可以轻松地获取手机号码的网段、归属省份、归属城市 邮政编码、区号和运营商归属等信息。有兴趣的读者可以查阅相关资料并实践一下。

原文素材来自:http://www.tupwk.com.cn/downpage

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值