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


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,js双版本
Sep 25 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
php使用include 和require引入文件的区别
Feb 16 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
基于php流程控制语句和循环控制语句(讲解)
Oct 23 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP时间戳和日期相互转换操作实例小结
Dec 18 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
Mar 23 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
一个捕获函数输出的函数
2007/02/14 PHP
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
对python append 与浅拷贝的实例讲解
2018/05/04 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
个人廉洁自律承诺书
2014/03/27 职场文书
小学老师对学生的评语
2014/12/29 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
React更新渲染原理深入分析
2022/12/24 Javascript