PHP验证日本免费电话号码格式

首先,您需要了解免费电话号码的格式

日本免费电话也就那么几个号段:0120、0990、0180、0570、0800等开头的,0800稍微特殊点,在手机号里面有080 开头,但是后面不一样了。

关于免费电话号码的划分,全部写出来是不现实的。大概四10位对应4位-3位-3位,11位对应4位-3位-4位。

上代码:

function checkFreephoneNumber(string $str): int|false {return preg_match("/\A0((12|99|18|57)0[-(]?\d{3}[-)]?\d{3}|800[-(]?\d{3}[-)]?\d{4})\z/", $str);
}

这是对所描述的解释。 

  1.   /  :分隔符
  2. \A :转义序列 要搜索的字符串的开头
  3.  ( ) :子图案
  4.  \d : 与十进制数字[0-9]相同
  5.  { } :重复
  6.  [ ]  : 字符类
  7.  ?  :与量词 {0,1}相同
  8.   |  :选择
  9.  \z :搜索目标字符串的转义序列末尾

更简单地,去除连字符和圆括号后,通过 /\A0((12\99\18\57)0\d{6}\800\d{7})\z/ 的方法也不错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/43711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端从入门到精通:第十二课: JS运算符及分支结构】

JavaScript运算符 算数运算符 关于自增自减运算 自增或者自减运算就是在本身的基础上进行1或者-1的操作 自增或者自减运算符可以在变量前也可以在变量后,但是意义不同 自增自减运算符如果在变量前,是先进行自增或者自减运算,在将变量给别人用…

Python面试题:请解释什么是反射(reflection)?

在计算机科学中,反射(reflection)是指程序在运行时检查、修改和调用自身结构的能力。这种能力允许程序在运行时动态地获取有关其自身的信息(如类、方法、属性等),并进行操作。反射通常用于创建灵活且可扩展…

idea集成本地tomcat

由于网课老师使用的是eclipse,但是……本人用的是idea,所以不得不去找教程。 解决方案1: https://blog.csdn.net/weixin_54048131/article/details/131359793 这个地方,路径一定要到这个tomcat 否则不识别: 这里的JRE也要配置一下 新问题&…

力扣1943.描述绘画结果

力扣1943.描述绘画结果 map存差分 遍历每组数据 加入res class Solution {public:vector<vector<long long>> splitPainting(vector<vector<int>>& segments) {map<int,long long> mp;for(auto t:segments){mp[t[0]] t[2];mp[t[1]] - t[…

ESP32的I2S引脚及支持的音频标准使用说明

ESP32 I2S 接口 ESP32 有 2 个标准 I2S 接口。这 2 个接口可以以主机或从机模式&#xff0c;在全双工或半双工模式下工作&#xff0c;并且可被配置为 8/16/32/48/64-bit 的输入输出通道&#xff0c;支持频率从 10 kHz 到 40 MHz 的 BCK 时钟。当 1 个或 2 个 被配置为主机模式…

数据结构 实验 3

题目一&#xff1a;最短路径dijkstra算法 一、实验目的 熟练图的邻接矩阵和邻接表表示法掌握图的最短路径Dijkstra算法的基本思想用C语言实现Dijkstra算法 二、实验内容 从键盘输入的数据创建图&#xff08;图的存储结构采用邻接矩阵&#xff09;&#xff0c;设计Dijkstra算…

JavaScript中的可选链操作符

在JavaScript中&#xff0c;?. 被称为可选链操作符&#xff08;Optional Chaining Operator&#xff09;。它允许你访问对象的深层属性而不必显式地检查每一层属性是否存在。如果链中的某个属性不存在&#xff0c;表达式将短路返回undefined&#xff0c;而不是抛出一个TypeErr…

鸿蒙语言基础类库:【@ohos.util.Deque (线性容器Deque)】

线性容器Deque 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 Deque&#xff08;double ended queue&#xff09;根据循环队列的数据结构实现&#xff0c;符合先进先出以及先进后出的特点&…

Redis 实现高并发库存扣减方案

背景 公司的电商系统下单 操作库存是一个频繁操作&#xff0c;需要高效地扣减库存&#xff0c;把对销售库存的操作抽出来独立设计一个库存中心系统。 功能包括库存的批量添加、获取、下单、支付、回退等的操作。 解决的业务痛点 需要高效不超卖 方案 一、使用msql乐观锁 …

PostgreSQL 如何解决数据迁移过程中的数据类型不匹配问题?

文章目录 一、了解常见的数据类型不匹配情况1. 整数类型差异2. 浮点数类型差异3. 字符类型差异4. 日期和时间类型差异 二、解决数据类型不匹配的一般策略1. 数据转换2. 调整数据库表结构3. 数据清洗和预处理 三、PostgreSQL 中的数据类型转换函数1. 数值类型转换2. 字符类型转换…

解决虚拟机文件因快照占用硬盘空间较多的情况(压缩虚拟机文件,节省硬盘空间)

在使用虚拟机(Wmware)中&#xff0c;我们经常会在需要的时候拍摄虚拟机快照&#xff0c;尤其是虚拟机运行时的快照&#xff0c;动辄几个G&#xff0c;容易占满硬盘空间&#xff0c;那么有什么方法能够压缩虚拟机文件呢 下面是压缩后的存放虚拟机的文件夹 可以看到节约了大约2…

去除Win32 Tab Control控件每个选项卡上的深色对话框背景

一般情况下&#xff0c;我们是用不带边框的对话框来充当Tab Control的每个选项卡的内容的。 例如&#xff0c;主对话框IDD_TABBOX上有一个Tab Control&#xff0c;上面有两个选项卡&#xff0c;第一个选项卡用的是IDD_DIALOG1充当内容&#xff0c;第二个用的则是IDD_DIALOG2。I…

sklearn中的Pipeline:构建无缝机器学习工作流

sklearn中的Pipeline&#xff1a;构建无缝机器学习工作流 在机器学习项目中&#xff0c;数据处理、模型训练和预测往往是一系列复杂且相互依赖的步骤。scikit-learn&#xff08;简称sklearn&#xff09;提供了一个强大的工具——Pipeline&#xff0c;用于将这些步骤组织成一个…

PCL + Qt + Ribbon 风格(窗口自由组合) demo展示

文章目录 前言演示视频代码下载 前言 PCL Qt Ribbon 风格demo展示~ Ribbon 风格实现了界面的自由拖动和组合&#xff0c;是一个用户友好型应用的必备功能&#xff0c;本博客提供了一个基础的Demo实现Ribbon风格&#xff0c;结合了点云库PCL和可视化模块VTK&#xff0c;是一个…

搜维尔科技:OptiTrack在NAB2024展示了一系列业界领先的媒体技术

广泛的显示和动作捕捉跟踪技术组合涵盖无与伦比的室内和室外 LED 解决方案、前沿技术演示以及最新的软件和硬件产品 可视化技术领域的全球领导者 Planar及其附属公司 3D 跟踪系统的全球领导者OptiTrack宣布&#xff0c;两家公司将在 2024 年全国广播协会 (NAB) 展会上展示其最全…

【fscan】Windows环境下的fscan安装与使用指南

Fscan是一款专为网络安全专业人士设计的多功能扫描工具&#xff0c;它能够帮助用户在Windows环境中执行高效的网络扫描任务。以下是关于Fscan的详细使用指南&#xff1a; 获取Fscan 要开始使用Fscan&#xff0c;首先需要从其GitHub仓库下载最新版本的预编译二进制可执行文件。…

解释乐观锁和悲观锁的概念,并在 Java 中如何实现这两种锁机制,分别举一个简单的例子?

乐观锁和悲观锁是两种处理并发控制的不同策略&#xff0c;它们各有侧重&#xff0c;适用于不同的场景。下面我会用生活化的例子来帮助你理解这两种锁机制&#xff0c;并展示在Java中如何简单地实现它们。 乐观锁 概念&#xff1a;乐观锁假定在大部分情况下&#xff0c;数据不…

Android布局简介

布局是一种可用于放置很多控件的容器&#xff0c;根据既定的规则决定内部控件的位置。当然&#xff0c;布局的内部也可以放置布局&#xff0c;即布局嵌套&#xff0c;布局嵌套可以实现一些比较复杂的界面。 Android中有多种编写程序界面的方式可供选择。Android Studio提供了相…

音视频质量评判标准

一、实时通信延时指标 通过图中表格可以看到&#xff0c;如果端到端延迟在200ms以内&#xff0c;说明整个通话是优质的&#xff0c;通话效果就像大家在同一个房间里聊天一样&#xff1b;300ms以内&#xff0c;大多数人很满意&#xff0c;400ms以内&#xff0c;有小部分人可以感…

Docker-compse的应用

1 docker-compose # 使用了docker 面临一个比较大的问题&#xff0c;如果一个djagno项目&#xff0c;使用mysql&#xff0c;redis&#xff0c;不要一次性把所有服务都放到一个容器中&#xff0c;每个服务一个容器&#xff0c;批量的管理多个容器&#xff0c;比较难以操作&…