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

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

最新手机号正则表达式

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

相关文章

  • Maven安装与配置图文教程

    Maven是一个Java项目的构建工具,通过它可以方便地进行项目管理,包括编译、测试、打包等。下面是Maven安装与配置的图文教程,包括Windows和Mac两个平台的操作步骤。 系统需求 Maven 3.x 或更高版本 JDK 1.8 或更高版本 Windows下安装与配置Maven 第一步:下载Maven 前往Maven官网 https://maven.…

    Java 2023年5月20日
    00
  • Java实现任务超时处理方法

    下面是Java实现任务超时处理方法的完整攻略: 1. 什么是任务超时处理 任务超时处理是一种常见的程序设计技巧,它可以帮助我们在任务执行过程中,对任务超时进行有效管理和处理,避免因任务长时间未能完成而导致程序陷入假死状态或无响应。 通常情况下,我们可以使用Java提供的多线程机制来实现任务超时处理,通过设置任务的超时时间,当任务超过指定的时间仍未能完成时,我…

    Java 2023年6月1日
    00
  • java中JSONArray互相转换List的实现

    Java中JSONArray和List的互相转换,可以使用JSON库中的方法来实现。下面我将详细讲解该转换的完整攻略,并提供两个示例。 JSONArray转List 1. 使用GSON库 首先需要引入GSON库的依赖,可以在maven中添加以下依赖: xml <dependency> <groupId>com.google.code.…

    Java 2023年5月26日
    00
  • Spring中使用腾讯云发送短信验证码的实现示例

    下面我将为您详细讲解在Spring中使用腾讯云发送短信验证码的实现示例,并提供两个示例给您参考。 腾讯云SMS SDK介绍 在Spring中使用腾讯云发送短信验证码,需要使用腾讯云的SMS SDK。腾讯云的SMS SDK是专为开发人员和企业用户量身打造的短信发送解决方案,它提供了多种方式发送短信,包含了API接口、SDK、控制台等多种方式,并且可以满足不同场…

    Java 2023年5月20日
    00
  • JSP 中文字符处理代码

    JSP 中文字符处理是Web开发中一个常见问题,本文针对JSP中文字符处理提供一些攻略。 一、确保JSP页面编码和文件编码一致 JSP页面的编码格式需要和文件编码格式一致,包括jsp文件本身的编码、jsp引用的外部文件(如CSS、JS等)和JSP应用程序中的所有文件。可以使用以下代码在JSP页面中指定编码格式: <%@ page contentType…

    Java 2023年6月15日
    00
  • 二、设置开发、运行环境

    关于“二、设置开发、运行环境”的完整攻略,我需要进行一些详细的讲解。具体如下: 1. 确定开发环境 首先,我们需要确定我们要使用哪一种语言和开发环境来进行网站开发。通常用于web开发的主流语言有PHP、Python、Ruby等,而开发环境则包括了各种编辑器、库、框架等工具。 例如,如果我们选择使用PHP来进行开发,那么我们可以选择使用著名的开发环境XAMPP…

    Java 2023年6月15日
    00
  • java web开发之servlet图形验证码功能的实现

    [TOC] 介绍 图形验证码(Captcha)是一种用于区分用户是机器人还是人类的测试。它通常用于网站注册、评论等功能。Java Web开发中,我们可以使用Servlet来实现图形验证码的功能,下面就来介绍一下如何实现。 实现步骤 以下是Servlet实现图形验证码的完整步骤: 创建验证码图片 将验证码图片输出到页面 将验证码传入Session中 验证用户输…

    Java 2023年6月15日
    00
  • Mybatis中返回Map的实现

    Sure! MyBatis支持返回Map类型的结果集,我们可以将查询结果映射到Map中,其中Map中的key对应结果集中的字段名,value对应该字段所对应的值。那么,如何在MyBatis中实现返回Map类型的结果集呢?下面是实现的完整攻略: SQL语句 我们需要编写SQL语句,并在查询中使用别名,来保证返回结果中的属性名和表的列名保持一致。例如,以下SQL…

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