最新手机号码、电话号码正则表达式

作为网站作者,在网站上提供合适的正则表达式能够帮助用户更好地填写信息,本文将详细讲解如何编写符合实际需求的最新手机号码、电话号码正则表达式。

最新手机号正则表达式

先介绍最新的中国手机号码格式:手机号码为11位数字,以13、14、15、17、18、19开头。其中,17、19开头是最新的号段。而且还有一些虚拟运营商的号码前缀不在以上号码段中,例如:170等。

因此,对于中国的最新手机号码,可以使用如下的正则表达式进行匹配:

^1[3-9]\d{9}$|^170\d{8}$ 

其中,^表示开头的位置,$表示结束的位置。[3-9]表示第二位可以是3~9的数字,\d表示匹配任意数字,{9}表示匹配9个数字。|表示或的关系。因此,这个正则表达式能够匹配除了前两位可能是00~12的号码外,所有11位数字的手机号码。并且能够匹配所有虚拟运营商的号码。

下面是一个示例:

import re

phone_number = "13900000000"
pattern = re.compile(r'^1[3-9]\d{9}$|^170\d{8}$')
if pattern.match(phone_number):
    print("手机号码格式正确!")
else:
    print("手机号码格式不正确!")

以上示例代码会输出"手机号码格式正确!"。

最新电话号码正则表达式

中国的电话号码格式较为复杂,不仅有座机电话,还有区号等复杂因素。因此,本节将分别介绍如何匹配手机和座机电话号码。

匹配手机电话号码

对于中国的手机电话号码,目前共有三个号段:13****15****18****。因此,我们可以使用如下的正则表达式进行匹配:

^1[358]\d{9}$ 

其中,\d{9}匹配9个数字,[358]匹配3或者5或者8,因此我们能够匹配11位数字中以131518开头的所有号码。

下面是一个示例:

import re

phone_number = "13800000000"
pattern = re.compile(r'^1[358]\d{9}$')
if pattern.match(phone_number):
    print("手机号码格式正确!")
else:
    print("手机号码格式不正确!")

以上示例代码会输出"手机号码格式正确!"。

匹配座机电话号码

座机电话号码的格式比较复杂,包括有区号、市内电话和分机号,因此需要考虑多种情况。

7位座机电话号码

对于只有7位数字的座机电话号码,这种号码一般不包括区号,常见于同城之间的通讯。因此,我们可以使用如下的正则表达式进行匹配:

^\d{7}$ 

这个正则表达式可以匹配任意7个数字,简单易懂。

例如,以下电话号码都符合我们的正则表达式:88888881234567等。

下面是一个示例:

import re

phone_number = "8888888"
pattern = re.compile(r'^\d{7}$')
if pattern.match(phone_number):
    print("座机电话号码格式正确!")
else:
    print("座机电话号码格式不正确!")

以上示例代码会输出"座机电话号码格式正确!"。

8位座机电话号码

对于有8位数字的座机电话号码,这种号码一般包括区号和本地号码两个部分,中间用一个短横线分开。因此,我们可以使用如下的正则表达式进行匹配:

^0\d{2}-\d{7,8}$ 

其中,^0表示以0开头,\d{2}表示匹配任意2个数字,-表示一个短横线,\d{7,8}匹配7或8个数字。因此,可以匹配开头为0的电话号码,并且要求第3、4位是区号,后面部分是本地号码。

例如,以下电话号码都符合我们的正则表达式:0755-12345678021-1234567等。

下面是一个示例:

import re

phone_number = "0755-12345678"
pattern = re.compile(r'^0\d{2}-\d{7,8}$')
if pattern.match(phone_number):
    print("座机电话号码格式正确!")
else:
    print("座机电话号码格式不正确!")

以上示例代码会输出"座机电话号码格式正确!"。

包括分机号的座机电话号码

如果电话号码中包括分机号,则常用的格式是在最后用一个大写字母E加上分机号码,例如:0755-12345678E1234。因此,我们可以使用如下的正则表达式进行匹配:

^0\d{2}-\d{7,8}(E\d{3,})?$ 

其中,(E\d{3,})?表示分机号码部分可以出现0次或1次,\d{3,}匹配3个或以上的数字,因此匹配分机号码的长度限制是3位或以上。

例如,以下电话号码都符合我们的正则表达式:0755-12345678E123021-1234567等。

下面是一个示例:

import re

phone_number = "0755-12345678E1234"
pattern = re.compile(r'^0\d{2}-\d{7,8}(E\d{3,})?$')
if pattern.match(phone_number):
    print("座机电话号码格式正确!")
else:
    print("座机电话号码格式不正确!")

以上示例代码会输出"座机电话号码格式正确!"。

综上所述,以上就是最新手机号码、电话号码正则表达式的完整攻略。

阅读剩余 66%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:最新手机号码、电话号码正则表达式 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring Security验证流程剖析及自定义验证方法

    接下来我将详细讲解“Spring Security验证流程剖析及自定义验证方法”的完整攻略。 1. Spring Security验证流程剖析 1.1 Spring Security简介 Spring Security是Spring框架的一个子项目,提供了基于Acegi Security(一款强大而且全面的开源安全框架)的安全处理功能,它能够为我们的应用程序…

    Java 2023年5月20日
    00
  • Java BIO实现聊天程序

    下面我就为您详细讲解“Java BIO实现聊天程序”的完整攻略。首先,我们需要了解什么是BIO(Blocking IO)。 什么是BIO BIO是Java中IO的一种传统模型,它与操作系统提供的Input/Output是相似的。BIO的特点是同步并阻塞,即在执行输入输出过程中,如果没有数据读取,或者无法数据输出,那么将会阻塞在那里,直到有数据读取或输出。BI…

    Java 2023年5月23日
    00
  • Springboot配置security basic path无效解决方案

    针对“Springboot配置security basic path无效解决方案”,以下是完整的攻略: 1. 问题描述 当我们在Spring Boot项目中将Spring Security集成进来时,有时候会发现配置的basic path无效,即虽然配置了basic path,但在请求时仍然需要登录验证,这种情况该怎么解决呢? 2. 解决方案 2.1 配置W…

    Java 2023年5月20日
    00
  • WIN2003上Apache2+IIS6+Tomcat5之多站点完美配置篇

    接下来我将为你详细讲解“WIN2003上Apache2+IIS6+Tomcat5之多站点完美配置篇”的完整攻略。 什么是Apache,IIS以及Tomcat Apache Apache是一款常用的Web服务器软件,支持多种操作系统和编程语言。它是自由软件,采用了Apache许可证,因此可以免费使用、复制、修改和分发。Apache的优点是简单易用、配置灵活、性…

    Java 2023年5月19日
    00
  • kafka-console-consumer.sh使用2次grep管道无法提取消息的解决

    下面我来详细讲解一下如何使用kafka-console-consumer.sh命令来提取消息,并解决使用2次grep管道无法提取消息的问题。具体步骤如下: 1.使用kafka-console-consumer.sh命令提取消息 在使用kafka-console-consumer.sh命令之前,首先需要确保你已经在Kafka集群中创建好了相关的topic,具体…

    Java 2023年5月20日
    00
  • Java中多线程下载图片并压缩能提高效率吗

    Java中多线程下载图片并压缩能提高效率吗 在Java中使用多线程下载图片并压缩,可以提高程序的效率,因为多线程能够充分利用CPU的多核心,同时多个线程并行执行任务,从而加速程序的处理速度。下面详细讲解Java中多线程下载图片并压缩的完整攻略。 步骤一:下载图片 首先需要使用Java的URL和HttpURLConnection类实现图片下载功能,代码如下: …

    Java 2023年5月26日
    00
  • Java面向对象程序设计:抽象类,接口用法实例分析

    Java面向对象程序设计:抽象类,接口用法实例分析 什么是抽象类? 抽象类是指不能被实例化的类,它只能被用作其他类的父类。抽象类通常用于定义一组相关的子类所需的方法和常量。 在Java中,可以通过在类的声明前加上abstract关键字来定义一个抽象类,抽象类中可以包含抽象方法和非抽象方法。 抽象方法是指没有实现体的方法,它只有定义(方法名、返回类型、参数列表…

    Java 2023年5月23日
    00
  • JAVA位运算的知识点总结

    JAVA位运算的知识点总结 什么是位运算 在计算机中,数据都是以二进制表示的。位运算就是直接对二进制的位进行操作的运算,包括位与、位或、位异或以及位移动等操作。 位运算符号 位运算符号包括: 按位与:& 按位或:| 按位异或:^ 左移运算:<< 右移运算:>> 无符号右移运算:>>> 下面对每种符号进行详细讲…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部