不用isdigit函数实现判断手机号码
时间: 2023-10-02 20:05:19 浏览: 41
可以通过遍历手机号码中的每一个字符,判断每个字符是否为数字来实现判断手机号码。
以下是一个不使用isdigit函数实现判断手机号码的示例代码:
```python
def is_phone_number(phone_number):
for c in phone_number:
if c < '0' or c > '9':
return False
return True
```
其中,遍历手机号码中的每一个字符,如果字符不是数字,则直接返回False,表示手机号码不合法;如果遍历完所有字符后都没有返回False,则返回True,表示手机号码合法。
需要注意的是,这里假设手机号码中只包含数字,如果手机号码中包含其他字符,则需要根据实际情况进行修改。
相关问题
python判断手机号码所属运营商
可以使用手机号码前三位来判断运营商,一般情况下:
- 中国移动号码前三位:134-139、147、150-152、157-159、178、182-184、187-189
- 中国联通号码前三位:130-132、145、155-156、166、175-176、185-186
- 中国电信号码前三位:133、149、153、173-174、177、180-181、189、199
以下是一个使用 Python 实现的判断手机号码运营商的程序示例:
```python
def judge_operator(phone_number):
if len(phone_number) != 11:
return "请输入11位手机号码"
elif not phone_number.isdigit():
return "手机号码只能为数字"
else:
operators = {"移动": ["134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "157", "158", "159", "178", "182", "183", "184", "187", "188", "198"],
"联通": ["130", "131", "132", "145", "155", "156", "166", "175", "176", "185", "186"],
"电信": ["133", "149", "153", "173", "174", "177", "180", "181", "189", "199"]}
prefix = phone_number[:3]
for operator in operators:
if prefix in operators[operator]:
return operator
return "未知运营商"
```
你可以调用该函数,并传入一个手机号码作为参数,即可得到该手机号码所属的运营商。
判断用户输入的手机号码是否合法 如果输入的手机号码不全是数字,则报“invalid character”; 如果输入的手机号码不是11位,则报“not11”; 否则,显示“legal”
好的,以下是 Python 代码实现:
```python
phone_number = input("请输入手机号码:")
if not phone_number.isdigit():
print("invalid character")
elif len(phone_number) != 11:
print("not11")
else:
print("legal")
```
首先,我们通过 `input()` 函数获取用户输入的手机号码,并将其赋值给变量 `phone_number`。
然后,我们使用 `isdigit()` 方法判断手机号码是否全为数字。如果不是,则输出“invalid character”。
接下来,我们使用 `len()` 函数获取手机号码的长度,如果不等于11,则输出“not11”。
最后,如果手机号码既全为数字,又是11位,则输出“legal”,表示该手机号码是合法的。