网站后台php 验证前台post 方法传递来的数据

被thinkphp Model 类 自动验证表单,搞的不行了,然后,自己写验证的方法,把下面的代码
放到common/common.php 这样可以被整个项目调用,之后,在action 里面自己再写验证代码

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

以上代码就是PHP验证表单的相关实现方法。

你可能感兴趣的:(web编程)