python编写一个程序,使用正则表达式校验输入的手机号是否正确
时间: 2023-04-25 12:04:33 浏览: 209
可以使用以下代码来实现:
```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。
python使用正则表达式校验输入的手机号是否正确
可以使用 Python 中的 re 模块来进行正则表达式的匹配,以下是一个检验手机号是否正确的示例代码:
```python
import re
def check_phone_number(number):
pattern = r'^1[3-9]\d{9}$'
match = re.match(pattern, number)
if match:
return True
else:
return False
# 测试
print(check_phone_number('13912345678')) # True
print(check_phone_number('12345678900')) # False
print(check_phone_number('1234567890')) # False
```
其中,正则表达式 `r'^1[3-9]\d{9}$'` 中:
- `^` 表示以后面的模式开头;
- `1` 表示手机号的第一位必须为 1;
- `[3-9]` 表示手机号的第二位为 3-9 中的任意一个数字,即 3、4、5、7、8 中的一个;
- `\d{9}` 表示手机号的后 9 位为数字;
- `$` 表示以前面的模式结尾。
因此,该正则表达式可以匹配以 1 开头,第二位为 3、4、5、7、8 中的一个,后面跟着 9 位数字的手机号。
阅读全文