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 ...
随机推荐
- Nice validator领先的表单验证解决方案 转
Nice validator是一个简单智能的Web表单验证插件,可以验证现有的所有格式,比如邮箱地址.电话号码等,您还可以自定义规则验证,插件基于jQuery库,支持多种语言配置. 安装 1.您可以访 ...
- js发起长轮询获取推送消息
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- 笔记本开了WIFI之后只能上QQ,上不了网页的解决方法
前几天拉了宽带之后,开了WIFI,发现WIFI能上网,但是电脑就上不了网页. 把本地连接的DNS指定一下,(电信)指定为202.102.192.68
- GWT事件与ELEMENT绑定
GWT提供了DOM工具,利用美工做好的HTML页面,后台人员结合GWT来开发. Element button = DOM.getElementById("button_a"); D ...
- Javascript——初步
1.基本概念 Javascript是一门脚本语言,它是一门解释性的语言.网页和用户之间实时.动态的进行交互. 2.特点 简单性:没有严格的数据类型.语句简单而紧凑. 安全性:仅仅能通过浏览器实现浏览和 ...
- Cocos2d-x 3.1.1 学习日志9--一“上一下其乐无穷”游戏开发系列一
下载地址:http://app.mi.com/search?keywords=%E4%B8%80%E4%B8%8A%E4%B8%80%E4%B8%8B%E5%85%B6%E4%B9%90%E6%97% ...
- typename使用在模板中区分static成员和类型
16.19 编写函数,接受一个容器的引用,打印容器中的元素,使用容器的size_type和size成员来控制打印元素的循环. 16.20 重写上一题的函数,使用begin和end返回的迭代器来控制循环 ...
- Director Scene Layer and Sprite
Scenes Director Layers Multiple Layers Example: Sprites References Scenes A scene (implemented with ...
- Android 高级UI设计笔记01:使用ExpandableListView组件(ListView的扩展)
1.ExpandableListView是一个用来显示二级节点的ListView. 比如如下效果的界面: 2.使用ExpandableListView步骤 (1)要给ExpandableListVie ...
- 【Android】数据库的简单应用——创建数据库
SQLiteOpenHelper是一个抽象类,要使用它必须写一个类继承它.SQLiteOpenHelper有两个抽象方法onCreate()和onUpgrade(),我们要在类里面重写这两个方法来实现 ...