某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或三位数字; (2)前 缀:非'0'或'1'的三位数字; (3)后 缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。
时间: 2023-12-24 13:07:58 浏览: 167
好的,我可以为你提供一个Python程序,用于检查输入的电话号码是否符合规则:
```python
import re
def check_phone_number(phone_number):
pattern = r'^(\d{3}|\s){0,1}[2-9]\d{2}\d{4}$'
if re.match(pattern, phone_number):
return True
else:
return False
```
上述程序中,使用正则表达式 `^(\d{3}|\s){0,1}[2-9]\d{2}\d{4}$` 来检查电话号码是否符合规则。具体来说:
- `^` 表示字符串的开始;`$` 表示字符串的结束。
- `(\d{3}|\s){0,1}` 表示地区码部分,它可以为空格(表示没有地区码),也可以是三位数字。
- `[2-9]` 表示前缀的第一位,必须是 2-9 中的一个。
- `\d{2}` 表示前缀的后两位,可以是任意数字。
- `\d{4}` 表示后缀,必须是四位数字。
然后,我们在 `check_phone_number` 函数中使用 `re.match` 函数来判断输入的电话号码是否符合上述规则。如果符合,返回 True,否则返回 False。
你可以在程序中调用该函数并传入电话号码作为参数来进行测试。例如:
```python
phone_number = '010-12345678'
if check_phone_number(phone_number):
print('The phone number is valid.')
else:
print('The phone number is invalid.')
```
输出结果应该是 “The phone number is invalid.”,因为该电话号码不符合规则。
阅读全文