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

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

最新手机号正则表达式

先介绍最新的中国手机号码格式:手机号码为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日

相关文章

  • Java swing 图像处理多种效果实现教程

    Java Swing是Java编程语言专为创建GUI(图形用户界面)设计的一种界面工具包。在Java Swing中,可以使用其图像处理功能实现许多效果。下面是“Java Swing图像处理多种效果实现教程”的完整攻略。 1. 导入Java Swing库 在Java项目文件中,需要导入Java Swing库以便使用其图像处理功能。可以在代码中写入以下代码: i…

    Java 2023年5月26日
    00
  • eclipse怎么实现java连oracle数据库?

    要在Eclipse中使用Java连接Oracle数据库,需要完成以下步骤: 步骤一:安装Oracle JDBC驱动程序 在Eclipse中连接Oracle数据库,需要下载并安装Oracle JDBC驱动程序。 下载最新的Oracle JDBC驱动程序,例如ojdbc6.jar或ojdbc8.jar。 将下载的jar文件复制到Eclipse项目的/libs目录…

    Java 2023年5月19日
    00
  • AJAX开发简略 (第一部分)

    AJAX开发简略 (第一部分) AJAX (Asynchronous JavaScript and XML) 是一种用于创建快速动态网页的技术,它通过在后台与服务器进行数据交换,使网页不需要重新加载就可以更新特定部分的内容。在本文中,我们将学习如何使用 AJAX 来创建动态页面。本篇文章将分为两个部分,第一部分重点讲解 AJAX 的基础知识,第二部分将介绍如…

    Java 2023年5月23日
    00
  • Spring Boot中使用Spring Retry重试框架的操作方法

    Spring Boot中使用Spring Retry重试框架的操作方法 Spring Retry是一个轻量级的重试框架,可以帮助我们处理应用程序中的重试逻辑。在本文中,我们将详细讲解如何在Spring Boot应用程序中使用Spring Retry。 步骤一:添加依赖 我们需要在pom.xml文件中添加以下依赖项: <dependency> &l…

    Java 2023年5月15日
    00
  • 教你一步到位部署运行MyBatis3源码(保姆级)

    教你一步到位部署运行MyBatis3源码(保姆级) 前言 MyBatis 是一个开源的免费的 Java 持久层框架,它利用简单的 XML 或注解代码来配置和映射数据库操作。 在实际的开发中,我们经常会直接使用 MyBatis 这个框架来进行数据库的操作,但有时候会需要修改或者扩展 MyBatis3 的源码来满足自己的需求,那么这时候就需要我们先将 MyBat…

    Java 2023年5月20日
    00
  • SpringSecurity概念及整合ssm框架的示例详解

    Spring Security概念及整合SSM框架的示例详解 1. Spring Security概述 Spring Security是一个非常流行的安全框架,它可以非常方便地集成到Spring应用程序中,并提供了一系列的安全机制,例如: 认证 授权 攻击防御 2. Spring Security基本概念 Spring Security中的三个基本概念是认证…

    Java 2023年5月20日
    00
  • Mybatis一对多查询的两种姿势(值得收藏)

    下面我来详细讲解“Mybatis一对多查询的两种姿势(值得收藏)”的完整攻略,其中包含两个示例。 概述 Mybatis作为Java开发中热门的ORM框架之一,其支持的一对多查询功能使用起来相对简单,但是需要掌握一些技巧才能发挥出它的优势。本文将介绍Mybatis中一对多查询的两种姿势,旨在帮助开发人员更好地掌握这一功能。 前置条件 在使用Mybatis一对多…

    Java 2023年5月20日
    00
  • 2020JDK1.8安装教程详解(一次就可安装成功)

    2020JDK1.8安装教程详解(一次就可安装成功) 简介 JDK(Java Development Kit)是一个软件开发工具包,其中包含了Java语言开发所需的全部组件,包括JRE(Java Runtime Environment)、Java编译器、Java Debugger等。 本教程将详细讲解2020年安装JDK1.8的方法,让你一次性就能成功地安装…

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