编写一个程序使用正则表达 式校验输入的手机号是否正确?
时间: 2023-08-29 20:07:55 浏览: 139
好的,以下是一个使用正则表达式校验手机号的 Python 程序:
```python
import re
def validate_phone_number(number):
pattern = re.compile(r'^1[3-9]\d{9}$')
return pattern.match(number) is not None
if __name__ == '__main__':
phone_number = input("请输入手机号码:")
if validate_phone_number(phone_number):
print("手机号码格式正确!")
else:
print("手机号码格式错误!")
```
以上程序使用了 `re` 模块创建了一个正则表达式对象,该正则表达式可以匹配 11 位数字的手机号码,且要求第一位数字必须为 1,第二位数字必须为 3~9 中的任意一个。然后,定义了一个函数 `validate_phone_number`,该函数接受一个字符串参数 `number`,使用 `pattern.match()` 方法将该字符串与正则表达式进行匹配,如果匹配成功则返回 True,否则返回 False。最后,使用 `input()` 函数获取用户输入的手机号码,并调用 `validate_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
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` 函数来校验手机号码。如果校验成功,输出“手机号码正确”,否则输出“手机号码错误”。
阅读全文