PHP表单常用正则表达式(URL、HTTP、手机、邮箱等)
<?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表单常用正则表达式(URL、HTTP、手机、邮箱等)的更多相关文章
- php表单常用正则表达式
<?php /** * @description: 正则表达式匹配 */ class Regex { /** * @手机号 */ public static function Phone($su ...
- 常用正则表达式(手机号、邮箱、URL地址、身份证等等)
一.前言 不好的习惯:1.每一次用到正则都是上网copy一份,也没有去学习思考,看看都是什么意思: 2.一个项目里不同的地方用到了相同的校验,一直在重复的copy代码,并没有统一起来,万一哪天要修改规 ...
- JS中的表单验证+正则表达式
表单验证+正则表达式 一.非空验证 trim:去空格(去掉前后的空格),任何字符串都可以用这个方法.写法为:if(v.trim().length==0),表示如果去掉空格后的字符串的长度为0. < ...
- JavaScript 表单验证正则表达式大全
JavaScript 表单验证正则表达式大全[转载] 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[ ...
- 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据
原文:[ASP.NET Web API教程]5.2 发送HTML表单数据:URL编码的表单数据 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内 ...
- html/form表单常用属性认识
1.form表单常用属性练习 <style> .form1 { margin: auto; height: 900px; width: 500px; text-align: center; ...
- 什么是请求参数、表单参数、url参数、header参数、Cookie参数?一文讲懂
最近在工作中对 http 的请求参数解析有了进一步的认识,写个小短文记录一下. 回顾下自己的情况,大概就是:有点点网络及编程基础,只需要加深一点点对 HTTP 协议的理解就能弄明白了. 先分享一个小故 ...
- JavaScript常用表单验证正则表达式(身份证、电话号码、邮编、日期、IP等)
身份证正则表达式 //身份证正则表达式(15位)isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//身份证正则表达式 ...
- Form 表单常用正则验证 (收藏)
1.^\d+$ //匹配非负整数(正整数 + 0) 2.^[0-9]*[1-9][0-9]*$ //匹配正整数 3.^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0) 4.^-[0-9 ...
随机推荐
- Yii快速入门教程
Ⅰ.基本概念一.入口文件入口文件内容:一般格式如下:<?php$yii=dirname(__FILE__).'/../../framework/yii.php';//Yii框架位置$config ...
- hdoj 2795 Billboard【线段树区间最大值】
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- hdoj 1789 Doing Homework again
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Linq中Take、TakeWhile、Skip、SkipWhile的比较(转)
参考文章:http://blog.csdn.net/lxfzgg/article/details/20534281 Take() , , , , , , , , , }; ); //从第一个元素开始, ...
- 6步骤实现CentOS系统环境精简优化
6步骤实现CentOS系统环境精简优化 发布时间:2014-11-03 14:59:27 编辑:AHLinux.com 第一步.删除不必要的自带软件包yum remove Deployment_G ...
- Foundation与coreFoundation的相互转换
今天在整理以前的一些琐碎知识,今天就分享一个Foundation与coreFoundation的相互转换细节问题,其中的引用计数器是需要考虑的方面. ARC 环境下,CoreFoundation框 ...
- JSP-tag文件使用介绍
tag文件简单创建和使用 创建标记文件(.tag) 在标记文件中写入信息 在jsp文件中,引入标记文件 通过关键字调用标记文件 举例说明: 标记文件(show.tag) <%@ tag lang ...
- Cracking the coding interview-String
关于字符串 问题描述:一般这类程序设计的题目较简单,通过设计字符串的反转,寻找子串,以及字符串的拼接.删除操作等问题. 问题 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复)? 设计算法并写 ...
- javascript创建对象的7种方式
/*1.工厂模式*/ function createPerson(name,age,job) { var o = new object(); o.name = name; o.age = age; o ...
- javascript 之闭包-理解不了来找我
1,闭包是什么 (百度百科定义)--闭包是可以包含自由(未绑定到特定对象)变量的代码块:这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变 量).“闭包” 一词 ...