php表单习惯用的正则表达式


Posted in PHP onOctober 11, 2017

php表单常用正则表达式,代码如下所示:

function is_email($str){ 
//检验email 
return preg_match("/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/", $str); 
} 
function is_url($str){ 
//检验网址 
return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"]) 
*$/", $str); 
} 
function is_qq($str){ 
//检验qq 
return preg_match("/^[1-9]\d{4,8}$/", $str); 
} 
function is_zip($str){ 
//检验邮编 
return preg_match("/^[1-9]\d{5}$/", $str); 
} 
function is_idcard($str){ 
//检验身份证 
return preg_match("/^\d{15}(\d{2}[A-Za-z0-9])?$/", $str); 
} 
function is_chinese($str){ 
检验是否是中文 
return ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str); 
} 
function is_english($str){ 
//检验是否是英文 
return preg_match("/^[A-Za-z]+$/", $str); 
} 
function is_mobile($str){ 
//检验是否是手机 
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/", $str); 
} 
function is_phone($str){ 
//建云那是否是电话 
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/", 
$str); 
} 
function is_safe($str){ 
return (preg_match("/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|. 
{0,5})$|\s/", $str) != 0); 
} 
}

PS:下面再给大家分享一段代码

<?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 相关文章推荐
默默小谈PHP&amp;MYSQL分页原理及实现
Jan 02 PHP
dedecms模版制作使用方法
Apr 03 PHP
腾讯QQ php程序员面试题目整理
Jun 08 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
Dec 05 PHP
PHP防CC攻击实现代码
Dec 29 PHP
PHP URL参数获取方式的四种例子
Feb 28 PHP
Linux下创建nginx脚本-start、stop、reload…
Aug 03 PHP
浅析php单例模式
Nov 25 PHP
php单一接口的实现方法
Jun 20 PHP
ThinkPHP实现分页功能
Apr 28 PHP
php删除数组指定元素实现代码
May 03 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
彻底搞懂PHP 变量结构体
Oct 11 #PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 #PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 #PHP
laravel migrate初学常见错误的解决方法
Oct 11 #PHP
Laravel学习基础之migrate的使用教程
Oct 11 #PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 #PHP
Laravel中的Blade模板引擎示例详解
Oct 10 #PHP
You might like
PHP strtok()函数的优点分析
2010/03/02 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
JS实现的视频弹幕效果示例
2018/08/17 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python循环语句中else的用法总结
2016/09/11 Python
python实现学生管理系统
2018/01/11 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
破解安装Pycharm的方法
2018/10/19 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
全球地下的服装和态度:Slam Jam
2018/02/04 全球购物
一个SQL面试题
2014/08/21 面试题
武汉某公司的C#笔试题面试题
2015/12/25 面试题
高级护理实习生自荐信
2013/09/28 职场文书
成人继续教育实施方案
2014/03/01 职场文书
对祖国的寄语大全
2014/04/11 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书