0

0

php 常见的正则匹配表达式学习笔记

php中文网

php中文网

发布时间:2016-06-08 17:23:00

|

1189人浏览过

|

来源于php中文网

原创

在php中常用的正则表达式包括了如电话号,邮箱,用户名,手机号,邮箱,密码,qq号,身份证号码,空格,字母,数字等等这些正则表达试代码,下面我来整理一下。

<script>ec(2);</script>

参考N+1个正则总结:

常见的正则匹配:

 代码如下 复制代码
((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}[X0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))

匹配腾讯QQ号:[1-9][0-9]{4,}注:腾讯QQ号从10000开始
价格:/(^[-+]?[1-9]d*(.d{1,2})?$)|(^[-+]?[0]{1}(.d{1,2})?$)/
验证用户密码:"^[a-zA-Z]w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
中国邮政编码:[1-9]{1}(d+){5}
中国手机号码:(86)*0*13d{9}

掩码:

 代码如下 复制代码

/^(254|252|248|240|224|192|128|0).0.0.0$|^(255.(254|252|248|240|224|192|128|0).0.0)$|^(255.255.(254|252|248|240|224|192|128|0).0)$|^(255.255.255.(254|252|248|240|224|192|128|0|255))$/

立即学习PHP免费学习笔记(深入)”;

中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14}
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"(匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222)

中国身份证号码:

 代码如下 复制代码

((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}[X0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))

匹配空格/空行:

PHP 网络编程技术与实例(曹衍龙)
PHP 网络编程技术与实例(曹衍龙)

PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍

下载

匹配空行的正则表达式:n[s| ]*r
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配数字:

只能输入数字:"^[0-9]*$"
整数或者小数:^[0-9]+.{0,1}[0-9]{0,2}$
只能输入至少n位的数字:"^d{n,}$"。
只能输入m~n位的数字:。"^d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"
只能输入非零的正整数:"^+?[1-9][0-9]*$"
只能输入非零的负整数:"^-[1-9][]0-9"*$
只能输入长度为3的字符:"^.{3}$"


匹配字母:
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"
只能输入由数字、26个英文字母或者下划线组成的字符串:"^w+$"
验证是否含有^%&',;=?$"等字符:"[^%&',;=?$x22]+"

下面附一些自己的正则表达式应用

 代码如下 复制代码
 function pregTP($test){
  /**
  电话号码匹配
  电话号码规则:
   区号:3到5位,大部分都是四位,北京(010)和上海市(021)三位,西藏有部分五位,可以包裹在括号内也可以没有
   如果有区号由括号包裹,则在区号和号码之间可以有0到1个空格,如果区号没有由括号包裹,则区号和号码之间可以有两位长度的 或者-
   号码:7到8位的数字
   例如:(010) 12345678  或者 (010)12345678 或者 010  12345678 或者 010--12345678
  */
  $rule = '/^((((010)|(021)|(0d{3,4})))( ?)([0-9]{7,8}))|((010|021|0d{3,4}))([- ]{1,2})([0-9]{7,8})$/A';
  preg_match($rule,$test,$result);
  return $result;
 }

 

 

 代码如下 复制代码
function pregURL($test){
  /**
   匹配url
   url规则:
    例
    协议://域名(www/tieba/baike...).名称.后缀/文件路径/文件名
    http://www.111cn.net
    协议://域名(www/tieba/baike...).名称.后缀/文件路径/文件名?参数
    www.www.111cn.net
    协议://域名(www/tieba/baike...).名称.后缀/文件路径/文件名/参数
    http://www.111cn.net
    
    协议:可有可无,由大小写字母组成;不写协议则不应存在://,否则必须存在://
    域名:必须存在,由大小写字母组成
    名称:必须存在,字母数字汉字
    后缀:必须存在,大小写字母和.组成
    文件路径:可有可无,由大小写字母和数字组成
    文件名:可有可无,由大小写字母和数字组成
    参数:可有可无,存在则必须由?开头,即存在?开头就必须有相应的参数信息
  */
  $rule = '/^(([a-zA-Z]+)(://))?([a-zA-Z]+).(w+).([w.]+)(/([w]+)/?)*(/[a-zA-Z0-9]+.(w+))*(/([w]+)/?)*(?(w+=?[w]*))*((&?w+=?[w]*))*$/';
  preg_match($rule,$test,$result);
  return $result;
 }

 

 代码如下 复制代码
function pregPOS($test){
 /**
  匹配邮编
   规则:六位数字,第一位不能为0
 */
  $rule ='/^[1-9]d{5}$/';
  preg_match($rule,$test,$result);
  return $result;
 }

 

 代码如下 复制代码
 function pregCh($test){
 //utf8下匹配中文
  $rule ='/([x{4e00}-x{9fa5}]){1}/u';
  preg_match_all($rule,$test,$result);
  return $result;
 }
 代码如下 复制代码

function pregTI($test){
  /**
  匹配时间
   规则:
    形式可以为:
    年-月-日 小时:分钟:秒
    年-月-日 小时:分钟
    年-月-日
    年:1或2开头的四位数
    月:1位1到9的数;0或1开头的两位数,0开头的时候个位数是1到9的数,1开头的时候个位数是1到2的数
    日:1位1到9的数;0或1或2或3开头的两位数,0开头的时候个位数是1到9的数,1或2开头的时候个位数是0到9的数,3开头的时候个位数是0或1
    小时:0到9的一位数;0或1开头的两位数,个位是0到9;2开头的两位数,个位是0-3
    分钟:0到9的一位数;0到5开头的两位数,个位是0到9;
    分钟:0到9的一位数;0到5开头的两位数,各位是0到9
  */
  $rule ='/^(([1-2][0-9]{3}-)((([1-9])|(0[1-9])|(1[0-2]))-)((([1-9])|(0[1-9])|([1-2][0-9])|(3[0-1]))))( ((([0-9])|(([0-1][0-9])|(2[0-3]))):(([0-9])|([0-5][0-9]))(:(([0-9])|([0-5][0-9])))?))?$/';
  preg_match($rule,$test,$result);
  return $result;
 }

 

 代码如下 复制代码
function pregIP($test){
  /**
  匹配ip
  规则:
   **1.**2.**3.**4
   **1可以是一位的 1-9,两位的01-99,三位的001-255
   **2和**3可以是一位的0-9,两位的00-99,三位的000-255
   **4可以是一位的 1-9,两位的01-99,三位的001-255
   四个参数必须存在
  */
  $rule = '/^((([1-9])|((0[1-9])|([1-9][0-9]))|((00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))).)((([0-9]{1,2})|(([0-1][0-9]{2})|(2[0-4][0-9])|(25[0-5]))).){2}(([1-9])|((0[1-9])|([1-9][0-9]))|(00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))$/';
  preg_match($rule,$test,$result);
  return $result;
 }
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

463

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

135

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

64

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

20

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

26

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

14

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

524

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

53

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 17.8万人学习

Pandas 教程
Pandas 教程

共15课时 | 1.1万人学习

C# 教程
C# 教程

共94课时 | 9.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号