<?php
/**
* @description: 正则表达式匹配
*/
class Regex {
/**
* @手机号
*/
public static function Phone($subject) {
$pattern='/^(0|86|17951)?(13[0-9]|15[012356789]|1[78][0-9]|14[57])[0-9]{8}$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @数字
*/
public static function Number($subject) {
$pattern='/^[0-9]+$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @年份 格式:yyyy
*/
public static function Year($subject) {
$pattern='/^(\d{4})$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @月份 格式:mm
*/
public static function Month($subject) {
$pattern='/^0?([1-9])$|^(1[0-2])$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @日期 格式:yyyy-mm-dd
*/
public static function Day($subject) {
$pattern='/^(\d{4})-(0?\d{1}|1[0-2])-(0?\d{1}|[12]\d{1}|3[01])$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @日期时间 格式:yyyy-mm-dd hh:ii:ss
*/
public static function DateTime($subject) {
$pattern='/^(\d{4})-(0?\d{1}|1[0-2])-(0?\d{1}|[12]\d{1}|3[01])\s(0\d{1}|1\d{1}|2[0-3]):[0-5]\d{1}:([0-5]\d{1})$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @邮箱
*/
public static function Email($subject) {
$pattern='/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @邮编
*/
public static function Postcode($subject) {
$pattern='/[1-9]\d{5}(?!\d)/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @有效图片地址
*/
public static function Photo($subject) {
$pattern='/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @URL地址
*/
public static function UrlAddress($subject) {
$pattern='/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @有效HTTP地址
*/
public static function EffectiveHttp($subject) {
$pattern='/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @身份证
*/
public static function Identity($subject) {
$pattern='/(^\d{15}$)|(^\d{17}([0-9]|X)$)/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @IPv4
*/
public static function Ipv4($subject) {
$pattern='/^(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @IPv6
*/
public static function Ipv6($subject) {
$pattern='/^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$/';
return Regex::PublicMethod($pattern, $subject);
}
/**
* @匹配正则公共方法
*/
public static function PublicMethod($pattern, $subject){
if(preg_match($pattern, $subject)){
return true;
}
return false;
}
}

转载于:https://www.cnblogs.com/jiaosq/p/5724553.html

PHP表单常用正则表达式(URL、HTTP、手机、邮箱等)相关推荐

  1. html表单的常用属性有哪些,html/form表单常用属性认识

    1.form表单常用属性练习 .form1 { margin: auto; height: 900px; width: 500px; text-align: center; line-height: ...

  2. Android之PC浏览器上传表单格式大文件到手机客户端read函数阻塞问题

    1 .问题 PC浏览器上传表单格式大文件到手机服务器端,然后read文件真实数据时候出现阻塞. 比如 User-Agent: PostmanRuntime/7.26.1Accept: */*Cache ...

  3. mysql 表单属性_php表单常用属性有什么?

    程序开发中,必不可少的会使用到form表单,以前只是在前端开发时简单使用,对它的属性不甚了解,最近在后端学习中,不断接触到它的属性,现记录一二.下面本篇文章给大家介绍php表单常用的5个属性. act ...

  4. android 阻塞式函数,Android之PC浏览器上传表单格式大文件到手机客户端read函数阻塞问题...

    1 .问题 PC浏览器上传表单格式大文件到手机服务器端,然后read文件真实数据时候出现阻塞. 比如 User-Agent: PostmanRuntime/7.26.1 Accept: */* Cac ...

  5. 什么是请求参数、表单参数、url参数、header参数、Cookie参数?一文讲懂

    最近在工作中对 http 的请求参数解析有了进一步的认识,写个小短文记录一下. 回顾下自己的情况,大概就是:有点点网络及编程基础,只需要加深一点点对 HTTP 协议的理解就能弄明白了. 先分享一个小故 ...

  6. html--form表单常用操作

    form表单 用于收集用户信息,如:登录.注册等场景:所有要提交的数据都必须放在form标签中<form action=" " method=" "> ...

  7. input标签里面type常用属性(注册登录表单常用元素)

    之前写一些小项目的时候,在表单这一块因为知道的type属性就text.password.button.submit等一些值,而且form表单也应用的不是很灵活,所以通过简单的学习,认识到以前写的for ...

  8. 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据

    注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内容. 5.2 Sending HTML Form Data 5.2 发送HTML表单数据 本文引 ...

  9. weui学习总结——1、weui表单常用标签

    前言:weui是一个专门用于开发手机移动web或微信的样式库.但是官方只提供了demo没有提供相关文档,所以这篇博客就当是方便以后开发而使用吧. weui资源下载(也可以从官网下载): http:// ...

  10. ecology8流程表单常用js

    1.提交验证表单结束日期不能少于开始日期 <!-- script代码,如果需要引用js文件,请使用与HTML中相同的方式. --> <script type="text/j ...

最新文章

  1. 在FC7上安装xmms
  2. 2018-01-02 JavaScript实现ZLOGO: 用语法树实现多层循环...
  3. 7.21.05 中断流程控制语句
  4. 计算机网络平台实验,计算机网络实验
  5. Mybatis源码解析-sql执行
  6. 使用Maven编译Tomcat源码
  7. spring boot使用logback实现多环境日志配置
  8. config设置源 使用pip_python pip源配置
  9. 原来Java大数据才是真正的高富帅!
  10. Linux定义多个标准输入输出,言简意赅解释Linux中的标准输入输出
  11. CocosCreator-IOS 开发篇
  12. EPUB格式怎么转成MOBI格式
  13. 矩阵乘法Java实现
  14. .net Core 3.1下的Roslyn 动态编译
  15. VSCode搭建STM32开发环境(极简自我搭建懒人直接使用插件)
  16. 穆迪分析宣布推出云服务,助力银行实现监管合规
  17. 网易云信消息抄送php,消息功能-服务端API文档-IM即时通讯-网易云信开发文档
  18. mysql里面除号写法_Mysql之常见函数
  19. PHP接口API文档转换SDK【神器】
  20. 【IoT】硬件PM系列(三):硬件产品经理需要掌握的定价策略

热门文章

  1. mysql 正则表达式 regExp
  2. PHP composer
  3. APUE习题[实现dup2函数功能,不使用fcntl]
  4. d3d11 indirect lighting
  5. 自定义Silverlight播放器
  6. struts响应用户请求的工作流程
  7. 浅谈Eclipse dropins插件安装的坑(附m2e的各个版本插件下载)
  8. Mac 下安装RabbitMQ及配置RabbitMQ可远程访问
  9. 从底层分析python中深拷贝和浅拷贝区别
  10. 颜值牛逼惨了的swagger-UI