python中不断地从键盘上读入一个个手机号,应用正则表达式校验是否满足手机号格式要求,直到输入一个空手机号为止
时间: 2023-07-28 19:51:42 浏览: 41
好的,下面是一个 Python 示例代码,可以不断地从键盘上读入一个个手机号,应用正则表达式校验是否满足手机号格式要求,直到输入一个空手机号为止:
```python
import re
while True:
# 从键盘上读入一个手机号
phone = input("请输入手机号:")
# 如果输入为空,则退出循环
if not phone:
break
# 定义手机号的正则表达式
pattern = re.compile(r'^1[3456789]\d{9}$')
# 校验手机号是否符合格式要求
if pattern.match(phone):
print("手机号格式正确!")
else:
print("手机号格式不正确,请重新输入!")
```
在这个示例中,我们使用了 `re` 模块中的 `compile()` 函数来定义手机号的正则表达式,然后使用 `match()` 方法来校验输入的手机号是否符合格式要求。如果符合,则输出“手机号格式正确!”;如果不符合,则输出“手机号格式不正确,请重新输入!”。如果输入为空,则退出循环。
相关问题
python编写一个程序,使用正则表达式校验输入的手机号是否正确
可以使用以下代码来实现:
```python
import re
def check_phone_number(phone_number):
pattern = r'^1[3-9]\d{9}$'
if re.match(pattern, phone_number):
return True
else:
return False
phone_number = input('请输入手机号码:')
if check_phone_number(phone_number):
print('手机号码正确')
else:
print('手机号码错误')
```
这个程序中,我们定义了一个函数 `check_phone_number`,它接受一个参数 `phone_number`,表示要校验的手机号码。函数中使用了正则表达式 `r'^1[3-9]\d{9}$'` 来匹配手机号码,其中:
- `^` 表示字符串的开头
- `1` 表示手机号码的第一位必须是数字 1
- `[3-9]` 表示手机号码的第二位必须是数字 3 到 9 中的任意一个
- `\d{9}` 表示手机号码的后 9 位必须是数字
- `$` 表示字符串的结尾
如果匹配成功,函数返回 True,否则返回 False。
在主程序中,我们首先让用户输入手机号码,然后调用 `check_phone_number` 函数来校验手机号码。如果校验成功,输出“手机号码正确”,否则输出“手机号码错误”。
编写一个程序,使用正则表达式校验输入的手机号是否正确
以下是一个使用正则表达式校验手机号的Python程序:
```python
import re
def check_phone_number(phone_number):
pattern = r'^1[3456789]\d{9}$'
if re.match(pattern, phone_number):
return True
else:
return False
phone_number = input("请输入手机号:")
if check_phone_number(phone_number):
print("手机号格式正确")
else:
print("手机号格式错误")
```
程序中使用了正则表达式`^1[3456789]\d{9}$`来匹配手机号码。其中:
- `^`表示字符串的开头
- `1`表示手机号码的第一位必须是1
- `[3456789]`表示手机号码的第二位可以是3、4、5、6、7、8、9中的任意一个
- `\d{9}`表示手机号码的后9位必须是数字
- `$`表示字符串的结尾
如果输入的手机号码符合上述规则,则返回True,否则返回False。