📜  电话正则表达式 (1)

📅  最后修改于: 2023-12-03 15:11:21.344000             🧑  作者: Mango

电话正则表达式

电话号码是我们日常生活中经常需要用到的内容,而在程序设计中,也经常需要对于电话号码进行验证或者处理。因此,掌握电话正则表达式是每一位程序员必备的技能。

电话号码的常见形式

在探讨电话正则表达式之前,我们先来了解一下电话号码的常见形式。电话号码通常有以下几种:

  • 固定电话号码
  • 手机号码
  • 区号-座机号码
验证电话号码的正则表达式

验证电话号码的正则表达式可以分为两种情况,一种是验证固定电话和手机号码,另一种是验证区号-座机号码。

验证固定电话和手机号码

固定电话和手机号码的正则表达式可以使用如下代码:

import re

# 验证固定电话和手机号码
phone_number_regex = "1\d{10}|(0\d{2,3}-?)?[1-9][0-9]{6,7}"
pattern = re.compile(phone_number_regex)

phone_numbers = ["13812345678", "010-1234567", "021-12345678", "0571-1234567"]
for phone_number in phone_numbers:
    match = pattern.match(phone_number)
    if match:
        print(phone_number + " 是合法的电话号码")
    else:
        print(phone_number + " 不是合法的电话号码")

上述正则表达式可以匹配如下形式的固定电话和手机号码:

  • 11位手机号码
  • 区号-座机号码
  • 不带区号的座机号码
验证区号-座机号码

区号-座机号码的正则表达式可以使用如下代码:

import re

# 验证区号-座机号码
phone_number_regex = "(0\d{2,3}-)?[1-9][0-9]{6,7}"
pattern = re.compile(phone_number_regex)

phone_numbers = ["010-1234567", "021-12345678", "0571-1234567"]
for phone_number in phone_numbers:
    match = pattern.match(phone_number)
    if match:
        print(phone_number + " 是合法的电话号码")
    else:
        print(phone_number + " 不是合法的电话号码")

上述正则表达式可以匹配如下形式的区号-座机号码:

  • 带区号的座机号码
总结

掌握电话正则表达式是每一位程序员必备的技能。本文介绍了验证固定电话和手机号码以及验证区号-座机号码的正则表达式,希望对于读者有所帮助。