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

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

最新手机号正则表达式

先介绍最新的中国手机号码格式:手机号码为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("座机电话号码格式不正确!")

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

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

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

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

相关文章

  • SpringBoot详解整合Spring Boot Admin实现监控功能

    SpringBoot详解整合Spring Boot Admin实现监控功能 简介 Spring Boot Admin是用于管理和监控一个或多个Spring Boot应用程序的应用程序。相比于spring-boot-actuator,默认Web UI很友好。此外,它还提供了以下功能: 显示应用程序的元数据(例如:Git提交信息,构建时间等) 显示健康检查状态以…

    Java 2023年5月19日
    00
  • 汇编中的数组分配和指针的实现代码

    汇编中的数组分配和指针的实现代码,可以分为以下几个步骤: 数组分配步骤 步骤一:在数据段定义数组 在汇编程序中,一般将需要定义数据的部分定义在数据段中。例如,我们要定义一个长度为10的整型数组,可以使用如下的语句: ARRAY DW 10 DUP(0) 其中,DW表示定义字,10表示数组的长度,DUP(0)表示把0复制10次。 步骤二:使用变址寻址方式访问数…

    Java 2023年5月23日
    00
  • Java利用Netty时间轮实现延时任务

    Java利用Netty时间轮实现延时任务 Netty是一个高性能、异步事件驱动的网络应用程序框架,常用于网络编程、RPC等高并发场景。Netty提供了对时间轮数据结构的支持,我们可以基于时间轮实现延时任务功能,本文将详细介绍如何利用Netty时间轮实现延时任务。 时间轮数据结构 时间轮是一种定时器管理方式,将所有的定时器事件按照时间分配到不同的槽中,形成一个…

    Java 2023年5月20日
    00
  • org.apache.ibatis.binding.BindingException异常报错原因以及详细解决方案

    先给一下org.apache.ibatis.binding.BindingException异常的概述: BindingException是MyBatis中的绑定异常,当Mapper接口和Mapper映射文件出现错误时抛出。在MyBatis中,Mapper接口和Mapper映射文件是对应绑定的,如果Mapper接口方法的参数、返回值类型或SQL语句等配置错误…

    Java 2023年5月27日
    00
  • Java实现ATM机操作系统

    Java实现ATM机操作系统攻略 ATM机是我们日常生活中使用的一种非常常见的机器,它可以进行银行卡的存取款、查询账户余额等一系列操作。通过Java实现ATM机的操作系统,可以更加深入地学习Java语言以及面向对象编程的核心思想,同时也能够提高编程能力与实际项目开发经验。 1. 系统需求分析 在实现ATM机操作系统之前,首先需要进行系统需求分析,包括系统所需…

    Java 2023年5月19日
    00
  • 如何通过Java监听MySQL数据的变化

    如何通过Java监听MySQL数据的变化? 为了监听MySQL数据的变化,我们可以借助MySQL提供的binlog机制和Java的开源库Canal,来轻松实现对MySQL数据的监听与解析。Canal是阿里巴巴开源的基于binlog的增量订阅&消费组件,用于数据的异构复制和逻辑解析,在大型分布式系统下广泛应用于数据信息同步。 Canal基于阿里中间件团…

    Java 2023年5月20日
    00
  • hibernate中的对象关系映射

    Hibernate是一个Java开源框架,它提供了一种旨在使用面向对象的方式来操作数据库的方法,其中对象关系映射(ORM)是Hibernate的核心。具体来说,Hibernate可以将Java类映射到数据库中的关系型表,并通过一系列简单易懂的配置,自动将Java对象与数据库操作关联起来。 下面是使用Hibernate进行对象关系映射的完整攻略: 1. 配置H…

    Java 2023年5月20日
    00
  • JAVA实现Base64编码的三种方式

    JAVA实现Base64编码的三种方式 Base64是一种用64个字符来表示二进制数据的方法,通常用于在HTTP等情境下传递二进制数据。在JAVA中,我们可以通过以下三种方式来进行Base64编码的实现。 1. 使用Java 8提供的java.util.Base64类(推荐使用) Java 8 中增加了一个 Base64 类,用于提供一种标准的Base64编…

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