常用表单验证类,有了这个,一般的验证就都齐了。


Posted in PHP onDecember 06, 2006
<?php   
/**   
 * 页面作用:常用表单验证类   
 * 作    者:欣然随风   
 * 建立时间:2006-3-6   
 * 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&amp;MYSQL服务器配置说明
Oct 09 PHP
PHP的FTP学习(一)
Oct 09 PHP
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
php目录操作实例代码
Feb 21 PHP
Laravel5中contracts详解
Mar 02 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
php微信开发自定义菜单
Aug 27 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
php实现微信企业转账功能
Oct 02 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 #PHP
PHP分页显示制作详细讲解
Dec 05 #PHP
PHP生成静态页面详解
Dec 05 #PHP
详解:――如何将图片储存在数据库里
Dec 05 #PHP
怎样才能成为PHP高手?学会“懒惰”的编程
Dec 05 #PHP
PHP开发入门教程之面向对象
Dec 05 #PHP
特转载一高手总结PHP学习资源和链接.
Dec 05 #PHP
You might like
第十三节--对象串行化
2006/11/16 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP中使用break跳出多重循环代码实例
2015/01/21 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
简单实现Python爬取网络图片
2018/04/01 Python
Python多进程原理与用法分析
2018/08/21 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
python def 定义函数,调用函数方式
2020/06/02 Python
艺术专业大学生自我评价
2013/09/22 职场文书
小学中秋节活动方案
2014/02/06 职场文书
高中物理教学反思
2014/02/08 职场文书
励志演讲稿500字
2014/08/21 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
三八妇女节主持词
2015/07/04 职场文书
关于环保的宣传稿
2015/07/23 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技