某城市电话号码由三部分组成,分别是: 地区码—— 空白或三位数字; 前缀—— 非‘0’或‘1’开头的三位数字; 后缀—— 4位数字。用代码实现电话号码的判断
时间: 2023-11-09 19:06:59 浏览: 166
你可以使用正则表达式来实现电话号码的判断,以下是一个示例代码:
```python
import re
def is_valid_phone_number(phone_number):
pattern = r'^(\d{3}|\s)-?[1-9]\d{2}-?\d{4}$'
return bool(re.match(pattern, phone_number))
# 测试
print(is_valid_phone_number("123-456-7890")) # True
print(is_valid_phone_number("(123) 456-7890")) # True
print(is_valid_phone_number("1234567890")) # True
print(is_valid_phone_number("123-45-67890")) # False
print(is_valid_phone_number("123-456-789")) # False
```
上述代码中,正则表达式的含义如下:
- `^` 表示字符串的开头
- `(\d{3}|\s)` 表示三位数字或者空格,用括号括起来是为了方便后面的引用
- `-?` 表示可选的短横线
- `[1-9]\d{2}` 表示非‘0’或‘1’开头的三位数字
- `-?` 表示可选的短横线
- `\d{4}` 表示4位数字
- `$` 表示字符串的结尾
最后使用 `re.match()` 函数来匹配输入的电话号码是否符合该正则表达式,如果匹配成功则返回 True,否则返回 False。
阅读全文