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


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 相关文章推荐
WordPress判断用户是否登录的代码
Mar 17 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
php实现加减法验证码代码
Feb 14 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
深入理解PHP内核(一)
Nov 10 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
php封装的mysqli类完整实例
Oct 18 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 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
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
javascript css styleFloat和cssFloat
2010/03/15 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
JS验证码实现代码
2017/09/14 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
Python实现远程调用MetaSploit的方法
2014/08/22 Python
Python中__call__用法实例
2014/08/29 Python
跟老齐学Python之Import 模块
2014/10/13 Python
Python多进程机制实例详解
2015/07/02 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
物理系毕业生自荐信
2013/11/01 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
信用卡工作证明模板
2014/09/14 职场文书
期末个人总结范文
2015/02/13 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis