Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

页面作用:常用表单验证类

Posted on 2008-06-13 09:58  analyzer  阅读(217)  评论(0)    收藏  举报
  1<?php     
  2/**    
  3* 页面作用:常用表单验证类    
  4* 作     者:欣然随风    
  5* 建立时间:2006-3-6    
  6* QQ:276624915    
  7*/     
  8class class_post     
  9{     
 10//验证是否为指定长度的字母/数字组合     
 11function fun_text1($num1,$num2,$str)     
 12{     
 13     Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;     
 14}     
 15   
 16//验证是否为指定长度数字     
 17function fun_text2($num1,$num2,$str)     
 18{     
 19     return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;     
 20}      
 21//验证是否为指定长度汉字     
 22function fun_font($num1,$num2,$str)     
 23{     
 24// preg_match("/^[\xa0-\xff]{1,4}$/", $string);     
 25     return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;     
 26}     
 27//验证身份证号码     
 28function fun_status($str)     
 29{     
 30     return (preg_match('/(^([\d]{15}|[\d]{18}|[\d]{17}x)$)/',$str))?true:false;     
 31}     
 32   
 33//验证邮件地址     
 34function fun_email($str){     
 35     return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false;     
 36}     
 37//验证电话号码     
 38function fun_phone($str)     
 39{     
 40   return (preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/",$str))?true:false;     
 41}     
 42//验证邮编     
 43function fun_zip($str)     
 44{     
 45   return (preg_match("/^[1-9]\d{5}$/",$str))?true:false;     
 46}     
 47//验证url地址     
 48function fun_url($str)     
 49{     
 50   return (preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/",$str))?true:false;     
 51}      
 52   
 53// 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组     
 54function data_join($data)     
 55{     
 56   if(get_magic_quotes_gpc() == false)     
 57   {     
 58    if (is_array($data))     
 59    {     
 60     foreach ($data as $k => $v)     
 61     {     
 62      $data[$k= addslashes($v);     
 63     }     
 64    }     
 65    else     
 66    {     
 67     $data = addslashes($data);     
 68    }     
 69   }     
 70   Return $data;     
 71}     
 72   
 73// 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组     
 74function data_revert($data)     
 75{     
 76   if (is_array($data))     
 77   {     
 78    foreach ($data as $k1 => $v1)     
 79    {     
 80     if (is_array($v1))     
 81     {     
 82      foreach ($v1 as $k2 => $v2)     
 83      {     
 84       $data[$k1][$k2= stripslashes($v2);     
 85      }     
 86     }     
 87     else     
 88     {     
 89      $data[$k1= stripslashes($v1);     
 90     }     
 91    }     
 92   }     
 93   else     
 94   {     
 95    $data = stripslashes($data);     
 96   }     
 97   Return $data;     
 98}     
 99   
100// 数据显示 还原 数据格式 主要用于内容输出 传入值可为字符串 或 一/二维数组     
101// 执行此方法前应先data_revert(),表单内容无须此还原     
102function data_show($data)     
103{     
104   if (is_array($data))     
105   {     
106    foreach ($data as $k1 => $v1)     
107    {     
108     if (is_array($v1))     
109     {     
110      foreach ($v1 as $k2 => $v2)     
111      {     
112       $data[$k1][$k2]=nl2br(htmlspecialchars($data[$k1][$k2]));     
113       $data[$k1][$k2]=str_replace(" "," ",$data[$k1][$k2]);     
114       $data[$k1][$k2]=str_replace("\n","<br>\n",$data[$k1][$k2]);     
115      }     
116     }     
117     else     
118     {     
119      $data[$k1]=nl2br(htmlspecialchars($data[$k1]));     
120      $data[$k1]=str_replace(" "," ",$data[$k1]);     
121      $data[$k1]=str_replace("\n","<br>\n",$data[$k1]);     
122     }     
123    }     
124   }     
125   else     
126   {     
127    $data=nl2br(htmlspecialchars($data));     
128    $data=str_replace(" "," ",$data);     
129    $data=str_replace("\n","<br>\n",$data);     
130   }     
131   Return $data;     
132}     
133}     
134?>