现在的APP一般在注册应用的时候,都会让用户输入手机号码,在短信验证之前首先会验证号码的真实性,如果是不存在的号码,就不会发送验证码。检验规则如下:
- 长度不小于11位
- 是移动,联通,电信号段中的任意一个
- 不考虑输入非数字的情况(简化程序)
- 移动号段,联通号段,电信号段如下:
CN_mobile = \
[134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,
187,188,147,178,1705]
CN_union = [130,131,132,155,156,185,186,145,176,1709]
CN_telecom = [133,153,180,181,189,177,1700]
程序效果如下:
Enter your number :123
Invalid length, your number should be in 11 digits
Enter your number :12312345678
No such an operator
Enter your number :18812345678
Operator : China Mobile
We're sending verification code via text to your phone: 18812345678
分析:
输入的手机号码默认是string字符串,而题目中给出的是list列表,所以需要有一步转换&