<?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;
 }
 }

php表单常用正则表达式的更多相关文章

  1. PHP表单常用正则表达式(URL、HTTP、手机、邮箱等)

    <?php /** * @description: 正则表达式匹配 */ class Regex { /** * @手机号 */ public static function Phone($su ...

  2. JS中的表单验证+正则表达式

    表单验证+正则表达式 一.非空验证 trim:去空格(去掉前后的空格),任何字符串都可以用这个方法.写法为:if(v.trim().length==0),表示如果去掉空格后的字符串的长度为0. < ...

  3. html/form表单常用属性认识

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

  4. JavaScript 表单验证正则表达式大全

    JavaScript 表单验证正则表达式大全[转载] 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[ ...

  5. JavaScript常用表单验证正则表达式(身份证、电话号码、邮编、日期、IP等)

    身份证正则表达式 //身份证正则表达式(15位)isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//身份证正则表达式 ...

  6. Form 表单常用正则验证 (收藏)

    1.^\d+$ //匹配非负整数(正整数 + 0) 2.^[0-9]*[1-9][0-9]*$ //匹配正整数 3.^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0) 4.^-[0-9 ...

  7. HTML 表单常用的代码元素

    表单: 将数据通过浏览器提交到服务器的媒介.<form action="" method="get/post" ></form> get ...

  8. HTML 和 form 表单常用标签

    HTML和CSS 常用标签: p:段落,自动换行 span:和div类似,但是默认不换行 br:换行 hr:分割线 h1-h6:标题标签 a:超链接 瞄点:通过给a链接设置#XX作为链接,给需要链接的 ...

  9. [JS] 页面回车键提交表单-常用于登录页面

    //判断是否按下了回车键 var EnterSubmit = function(evt){ evt= window.event || evt; if (evt.keyCode == 13){ //若按 ...

随机推荐

  1. E20170626-hm

    authenticate   vt. 认证,证明是真实的.可靠的或有效的; 鉴定,使生效; author   n. 作者; 著作家; 创造者; 发起人;

  2. akka设计模式系列-Chain模式

    链式调用在很多框架和系统中经常存在,算不得上是我自己总结的设计模式,此处只是简单介绍在Akka中的两种实现方式.我在这边博客中简化了链式调用的场景,简化后也更符合Akka的设计哲学. trait Ch ...

  3. notepad + +使用步骤

    原文地址:https://blog.csdn.net/so_geili/article/details/79317001#一-安装notepad 一. 安装notepad + +   notepad+ ...

  4. Codeforces 825D 二分贪心

    题意:给一个 s 串和 t 串, s 串中有若干问号,问如何填充问号使得 s 串中字母可以组成最多的 t 串.输出填充后的 s 串. 思路:想了下感觉直接怼有点麻烦,要分情况:先处理已经可以组成 t ...

  5. UNIX环境高级编程--8. 进程控制

    进程控制进程标识:    每一个进程都有一个非负整型表示的唯一进程ID.虽然唯一,但是ID可以复用.当一个进程结束后,其进程ID会被延迟复用.    ID=0的进程通常是调度进程,常被称作交换进程(s ...

  6. Web页面使用VLC播放插件

    一.原生态Demo下载 选择原因:我们为什么选择VLC播放插件?原因是它支持IE8浏览器播放视频,如果高版本的浏览器大可不必选择该插件,很多html5插件既好用又简单,但是有些交管或政府 部门还是限制 ...

  7. [ POI 2011 ] Party

    \(\\\) \(Description\) 给定一张 \(N\ (\ N\equiv 0\pmod{3}\ )\) 个节点,,\(M\)条边的图,并且保证该图存在一个大小至少为\(\frac{2}{ ...

  8. iOS开发中如何实现同步、异步、GET、POST等请求实操演示!

    1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...

  9. 【译】x86程序员手册11- 4.1系统寄存器

    4.1 Systems Registers 系统寄存器 The registers designed for use by systems programmers fall into these cl ...

  10. 解决 i5 6500 安装黑苹果 Sierra 显卡不正常问题

    i5 6500内置HD 530显卡,装好Sierra显卡驱动不太正常. 先下载Clover configurator 用Clover configurator加载 EFI (Mount EFI)分区 ...