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


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生成静态页
Nov 25 PHP
php zend解密软件绿色版测试可用
Apr 14 PHP
PHP学习 变量使用总结
Mar 24 PHP
深入探讨<br />和 \r\n两者有什么区别??
Jun 05 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
php操作redis缓存方法分享
Jun 03 PHP
PHP文件上传操作实例详解
Sep 27 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
Oct 18 PHP
php版微信返回用户text输入的方法
Nov 14 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 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
PHP源码之explode使用说明
2011/08/05 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
学习jQuey中的return false
2015/12/18 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
python单链表实现代码实例
2013/11/21 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
行政助理岗位职责
2013/11/10 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
房地产活动策划方案
2014/05/14 职场文书
销售员岗位职责
2014/06/09 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书