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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
PHP学习之数组值的操作
Apr 17 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 PHP
php模拟js函数unescape的函数代码
Oct 20 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
CI(CodeIgniter)框架中的增删改查操作
Jun 10 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
PHP中使用正则表达式提取中文实现笔记
Jan 20 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
php实现的三个常用加密解密功能函数示例
Nov 06 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
Dec 10 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 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
javascript History对象原理解析
2020/02/17 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
pycharm远程调试openstack代码
2017/11/21 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
python中matplotlib实现随鼠标滑动自动标注代码
2020/04/23 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
python list的index()和find()的实现
2020/11/16 Python
制衣厂各岗位职责
2013/12/02 职场文书
自我评价200字分享
2013/12/17 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
2014司机年终工作总结
2014/12/05 职场文书
皇城相府导游词
2015/02/06 职场文书