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


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下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
详解yii2实现分库分表的方案与思路
Feb 03 PHP
PHP房贷计算器实例代码,等额本息,等额本金
Apr 01 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 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
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
Python(Tornado)模拟登录小米抢手机
2013/11/12 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
利用python代码写的12306订票代码
2015/12/20 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
24式加速你的Python(小结)
2019/06/13 Python
python数据挖掘需要学的内容
2019/06/23 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
多媒体专业自我鉴定
2014/02/28 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
2015年财政所工作总结
2015/04/25 职场文书
SQL Server使用导出向导功能
2022/04/08 SQL Server