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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
PHP与javascript对多项选择的处理
Oct 09 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
Oct 09 PHP
php smarty 二级分类代码和模版循环例子
Jun 01 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
php中的动态调用实例分析
Jan 07 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 PHP
php依赖注入知识点详解
Sep 23 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
当海贼王变成JOJO风
2020/03/02 日漫
PHP之数组学习
2011/05/29 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
JavaScript事件列表解说
2006/12/22 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
python基础while循环及if判断的实例讲解
2017/08/25 Python
python语言中with as的用法使用详解
2018/02/23 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
2018/03/22 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
HTML5新增加的功能详解
2016/09/05 HTML / CSS
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
暑假实习求职信范文
2013/09/22 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
行政人事专员岗位职责
2014/03/05 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
2015年度保密工作总结
2015/04/24 职场文书
人代会简报
2015/07/21 职场文书