php常用表单验证类用法实例


Posted in PHP onJune 18, 2015

本文实例讲述了php常用表单验证类用法。分享给大家供大家参考。具体如下:

<?php
/**
* 页面作用:常用表单验证类
* 作 者:欣然随风
* QQ:276624915
*/
class class_post
{
//验证是否为指定长度的字母/数字组合
function fun_text1($num1,$num2,$str)
{
   Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;
}
//验证是否为指定长度数字
function fun_text2($num1,$num2,$str)
{
   return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;
}
//验证是否为指定长度汉字
function fun_font($num1,$num2,$str)
{
// preg_match("/^[\xa0-\xff]{1,4}$/", $string);
 
  return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;
}
//验证身份证号码
function fun_status($str)
{
   return (preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/',$str))?true:false;
}
//验证邮件地址
function fun_email($str){
   return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false;
}
//验证电话号码
function fun_phone($str)
{
  return (preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/",$str))?true:false;
}
//验证邮编
function fun_zip($str)
{
  return (preg_match("/^[1-9]\d{5}$/",$str))?true:false;
}
//验证url地址
function fun_url($str)
{
  return (preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/",$str))?true:false;
}
// 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组
function data_join(&$data)
{
  if(get_magic_quotes_gpc() == false)
  {
  if (is_array($data))
  {
   foreach ($data as $k => $v)
   {
   $data[$k] = addslashes($v);
   }
  }
  else
  {
  $data = addslashes($data);
  }
  }
  Return $data;
}
// 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组
function data_revert(&$data)
{
  if (is_array($data))
  {
  foreach ($data as $k1 => $v1)
  {
   if (is_array($v1))
   {
   foreach ($v1 as $k2 => $v2)
   {
   $data[$k1][$k2] = stripslashes($v2);
   }
   }
   else
   {
   $data[$k1] = stripslashes($v1);
   }
  }
  }
  else
  {
  $data = stripslashes($data);
  }
  Return $data;
}
// 数据显示 还原 数据格式 主要用于内容输出 传入值可为字符串 或 一/二维数组
// 执行此方法前应先data_revert(),表单内容无须此还原
function data_show(&$data)
{
  if (is_array($data))
  {
  foreach ($data as $k1 => $v1)
  {
   if (is_array($v1))
   {
   foreach ($v1 as $k2 => $v2)
   {
   $data[$k1][$k2]=nl2br(htmlspecialchars($data[$k1][$k2]));
   $data[$k1][$k2]=str_replace(" "," ",$data[$k1][$k2]);
   $data[$k1][$k2]=str_replace("\n","<br>\n",$data[$k1][$k2]);
   }
   }
   else
   {
   $data[$k1]=nl2br(htmlspecialchars($data[$k1]));
   $data[$k1]=str_replace(" "," ",$data[$k1]);
   $data[$k1]=str_replace("\n","<br>\n",$data[$k1]);
   }
  }
  }
  else
  {
  $data=nl2br(htmlspecialchars($data));
  $data=str_replace(" "," ",$data);
  $data=str_replace("\n","<br>\n",$data);
  }
  Return $data;
}
}
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP高级OOP技术演示
Aug 27 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
php压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
PHP的array_diff()函数在处理大数组时的效率问题
Nov 27 PHP
php实现图形显示Ip地址的代码及注释
Jan 20 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
php输出1000以内质数(素数)示例
Feb 16 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 PHP
php文件压缩之PHPZip类用法实例
Jun 18 #PHP
浅谈php中include文件变量作用域
Jun 18 #PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 #PHP
php实现只保留mysql中最新1000条记录
Jun 18 #PHP
php使用COPY函数更新配置文件的方法
Jun 18 #PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 #PHP
php实现mysql数据库分表分段备份
Jun 18 #PHP
You might like
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
laravel学习教程之存取器
2016/07/30 PHP
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
python模拟鼠标拖动操作的方法
2015/03/11 Python
python中__slots__用法实例
2015/06/04 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python3爬楼梯算法示例
2019/03/04 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
2014年班级工作总结
2014/11/14 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
首席执行官观后感
2015/06/03 职场文书
感恩教师节主题班会
2015/08/12 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
JavaScript 反射学习技巧
2021/10/16 Javascript
python超详细实现完整学生成绩管理系统
2022/03/17 Python