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

作者:无名 - PHP编程 -

代码如下:

<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;  
 }  
 }  
>

这篇内容就是由IT人知识库 小编为各位整理 原文链接:http://www.itpeo.net/12740/375444.html





玩转图像函数库—常见图形操作

我尽量不说大理论,诸如什么是png,自己查解决. PHP自4.3版本开始,捆绑了自己的GD2库,用户可以自己下载并设置.... ...

转换中文为unicode 转换unicode到正常文本

代码如下:'//转换中文为unicode function URLEncoding(vstrIn) &nbs... ...

生成静态页面的PHP类

代码如下:<php  class html  {   &nbs... ...

删除无限级目录与文件代码共享

<//删除目录//本程序由wm_chief原创,如要转载,请注明作者与来源(http://www.phome.ne... ...

PHP截取中文字符串的问题

以下代码试用于GB2312编码,截取中文字符串是PHP中一个头疼的问题,解决方法是根据值是否大于等于128来判断是否是双... ...

最令PHP初学者头痛的十四个问题

【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从... ...

WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略

I finally got this to work, so... ...

PHP初学者头疼问题总结

【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从... ...

php分页函数

<php /* 需求,建立一个test数据库,在里边建一个test表,里面就 只要id字段,输入一下数据就可以啦。... ...

从零开始 教你怎么搭建Discuz!4.1论坛(图)

随着网络的发展越来越多的网友开始学习建立自己的网站,通过网站将自己的资料提供给其他人,并且通过论坛与其他朋友讨论问题,发... ...

解决控件遮挡问题:关于有窗口元素和无窗口元素

不知道朋友们有没有碰到过控件的遮挡问题,最典型的就是DropdownList和ActiveX的遮挡,HTML的z-ind... ...

js下函数般调用正则的方法附代码

曾经 ECMAScript 4 建议指出这个功能将会增加到 ES4 规... ...

rfedfre

jQuery EasyUI API 中文文档 - DateBox日期框

扩展自 $.fn.combo.defaults。用 $.fn.datebox.defaults 重写了 defaults... ...

mac下安装nginx和php

一、前话:1.1、环境选择:重新在mac上配置php,原本mac上就自带有apach、php以及pgsql,如果图简单的... ...

JavaScript与HTML结合的基本使用方法整理

JavaScript:写入 HTML 输出 实例 document.write("<h1>This i... ...

PHP 闭包详解及实例代码

闭包和匿名函数在PHP5.3.0中引入的。 闭包是指:创建时封装周围状态的函数。即使闭包所处的环境不存在了,闭包中封装... ...

微信 getAccessToken方法详解及实例

memcache缓存存储用户信息7000秒 <?php function getAccessToken... ...

微信开发之php表单微信中自动提交两次问题解决办法

前言: 最近做微信开发,在微信中访问PHP页面,页面中有个表单。测试发现偶尔会出现表单被自动提交两次的情况,导致流程出错... ...

php pdo操作数据库示例

POD扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连... ...

PHP 无限级分类

有一段时间没用过无限极分类,不巧今天又用到,所以特地去翻箱回顾以前。为了避免以后找起来麻烦,特地贴在这里。 <... ...