PHP验证日本固定电话号码

news2024/11/23 2:36:51

日本电话号码格式众多,验证起来比较头大,现在咱们来一个简单的总结哈

为了简单起见,使用PCRE 函数preg_match通过匹配正则表达式来实现验证。

function checkGdTelLandline(string $str): int|false {
  return preg_match("/\A0(\d{1}[-(]?\d{4}|\d{2}[-(]?\d{3}|\d{3}[-(]?\d{2}|\d{4}[-(]?\d{1})[-)]?\d{4}\z/", $str);
}

这是正则表达式的可视化对比图。

/\A0\d{9}\z/一种更简单的方法是删除连字符和括号并将其传递给.

这是对所描述的PCRE 正则表达式语法的解释。

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

/\A0\d{9}\z/一种更简单的方法是删除连字符和括号并将其传递给.

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

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

相关文章

积鼎CFD:基于Virtualflow在溃坝洪水演进数值仿真分析

近期,多地遭受了前所未有的洪水侵袭,每一次灾害都如同警钟长鸣,提醒我们水库大坝安全的重要性,超标准暴雨的突袭让大坝的安全防线面临前所未有的考验。面对这一挑战,CFD技术可为溃坝洪水的预测与管理开辟新的路径。凭借…

python+django 环境搭建以及post接口封装

1、搭建pythondjango环境 python 3.7.9的版本 具体参考之前的安装教程 django 使用 pip install django 会自动安装 检验安装版本: python -m django --version 2、创建django项目 django-admin startproject projectname 启动项目:python manage.py…

基于X86+FPGA+AI的切割机控制、六轴机器人控制方案

一、智能设备控制 应用场景 智能制造(Intelligent Manufacturing, IM)是一种由智能机器和人类专家共同组成的人机一体化智能系统,它在制造过程中能进行智能活动,诸如分析、推理、判断、构思和决策等。通过人与智能机器的合作共事,去扩大、延…

力扣 用队列实现栈(Java)

核心思想:因为队列都是一端进入另一端出(先进先出,后进后出),因此一个队列肯定是不能实现栈的功能的,这里就创建两个队列来模拟栈的先进后出,后进先出。 比如说如果是push操作我们肯定是要弹出栈…

用四个场景案例,分析使用大模型对程序员工作的帮助提升_大模型应用场景

引言 随着人工智能技术的不断发展,大模型在软件开发中的应用越来越广泛。 这些大模型,如GPT、文心一言、讯飞星火、盘古大模型等,可以帮助程序员提高工作效率,加快开发速度,并提供更好的用户体验。 本文将介绍我在实…

MeowBot:ESP32 语音控制宠物猫 DIY 教程——玩转语音识别与 MQTT 智能家居控制 (附代码解析)

摘要: 本文将手把手教你打造一只名为 MeowBot 的智能宠物猫!它不仅可以通过舵机灵动地打招呼,还能听懂你的语音指令,帮你控制智能家居设备。让我们一起开启这段充满乐趣的 DIY 之旅吧! 关键词: ESP32、语音识别、MQTT、智能家居、…

独立开发者系列(15)——git的使用

上一篇14文章触发了敏感话题,直接未过审核,看来技术博客也有敏感点。 大部分情况下,独立项目是你一个人开发,但是当你接的项目比较大的时候,你需要其他人的帮忙,这个时候你要把代码分享给别人。因为如果你…

跨境业务经验推荐:三大优秀的IP代理服务商

作为一名多年从事跨境业务的老手,今天我要给大家介绍几款绝对靠谱的IP代理服务商,保证让你的全球业务更加顺畅! 1. 711Proxy 711Proxy以其优秀的性能和覆盖范围广而著称。对于跨境电商和国际业务来说,快速稳定的网络连接至关重要…

容器技术-docker5

一、docker-compose 常用命令和指令 1. 概要 默认的模板文件是 docker-compose.yml,其中定义的每个服务可以通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。 注意如果使用 build 指令,在 Dockerfile 中设置…

Canvas:掌握贝塞尔曲线与封装路径

想象一下,用几行代码就能创造出如此逼真的图像和动画,仿佛将艺术与科技完美融合,前端开发的Canvas技术正是这个数字化时代中最具魔力的一环,它不仅仅是网页的一部分,更是一个无限创意的画布,一个让你的想象…

QT中QDomDocument读写XML文件

一、XML文件 <?xml version"1.0" encoding"UTF-8"?> <Begin><Type name"zhangsan"><sex>boy</sex><school>Chengdu</school><age>18</age><special>handsome</special>&l…

Android自动化测试实践:uiautomator2 核心功能与应用指南

Android自动化测试实践&#xff1a;uiautomator2 核心功能与应用指南 uiautomator2 是一个用于Android应用的自动化测试Python库&#xff0c;支持多设备并行测试操作。它提供了丰富的API来模拟用户对App的各种操作&#xff0c;如安装、卸载、启动、停止以及清除应用数据等。此外…

maven设置阿里云镜像源(加速)

一、settings.xml介绍 settings.xml是maven的全局配置文件&#xff0c;maven的配置文件存在三个地方 项目中的pom.xml&#xff0c;这个是pom.xml所在项目的局部配置文件用户配置&#xff1a;${user.home}/.m2/settings.xml全局配置&#xff1a;${M2_HOME}/conf/settings.xml 优…

3.js - 纹理的 magfilter、minFilter、各向异性过滤(各项异性解决倾斜模糊问题)

效果图&#xff0c;就是一个PlaneGeometry&#xff0c;加了一个贴图&#xff0c;再设置下面这些属性&#xff0c;你就放大缩小着看吧&#xff0c;反正我看不出什么来 代码 // ts-nocheck // 引入three.js import * as THREE from three // 导入轨道控制器 import { OrbitContro…

4、音视频封装格式---FLV

FLV FLV是一种容器封装格式&#xff0c;是由Adobe公司发布和维护的&#xff0c;用于将视频编码流与音频编码流进行封装。对于任意一种封装格式&#xff0c;都有其头部区域与数据区域&#xff0c;在FLV中&#xff0c;称之为FLV Header与Body。 对于FLV Header&#xff0c;一个FL…

31 C++11

本节目标 c11简介列表初始化变量类型推导范围for循环新增加容器右值新的类功能可变参数模板 1. c11简介 在2003年标准委员会提交了一份计数勘误表&#xff08;简称TC1&#xff09;&#xff0c;使得c03这个名字已经取代了c98称为c11之前的最新的c标准名称。不过由于c03&#x…

【桌面微信多开】

桌面微信多开 步骤一&#xff1a;新建txt步骤二&#xff1a;保存修改为.bat步骤三&#xff1a;双击运行程序步骤四&#xff1a;多次点击微信 步骤一&#xff1a;新建txt echo offstart /d "D:\program\WeChat\" WeChat.exestart /d "D:\program\WeChat\" …

Xilinx FPGA:vivado利用单端RAM/串口传输数据实现自定义私有协议

一、项目要求 实现自定义私有协议&#xff0c;如&#xff1a;pc端产生数据&#xff1a;02 56 38 &#xff0c;“02”代表要发送数据的个数&#xff0c;“56”“38”需要写进RAM中。当按键信号到来时&#xff0c;将“56”“38”读出返回给PC端。 二、信号流向图 三、状态…

MessageBox的作用与用法

在C# &#xff08; Windows Forms &#xff09;中&#xff0c;MessageBox 的所有常用用法如下&#xff1a; 1. 显示一个简单的消息框 MessageBox.Show("这是一个简单的消息框。");2. 显示带标题的消息框 MessageBox.Show("这是一个带标题的消息框。", &…