Discuz教程网

简单的php 表单验证

[复制链接]
authicon dly 发表于 2011-1-7 14:19:48 | 显示全部楼层 |阅读模式

  1. <?php
  2. /**
  3. * 页面作用:常用表单验证类
  4. * 作 者:欣然随风
  5. * 建立时间:2006-3-6
  6. * QQ:276624915
  7. */
  8. class class_post
  9. {
  10. //验证是否为指定长度的字母/数字组合

  11. function fun_text1($num1,$num2,$str)
  12. {
  13.     Return (preg_match("/^[a-zA-Z0-9]{".$num1.",".$num2."}$/",$str))?true:false;
  14. }

  15. //验证是否为指定长度数字

  16. function fun_text2($num1,$num2,$str)
  17. {
  18.     return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;
  19. }
  20. //验证是否为指定长度汉字

  21. function fun_font($num1,$num2,$str)
  22. {
  23. // preg_match("/^[\\xa0-\\xff]{1,4}$/", $string);

  24.     return (preg_match("/^([\\x81-\\xfe][\\x40-\\xfe]){".$num1.",".$num2."}$/",$str))?true:false;
  25. }
  26. //验证身份证号码

  27. function fun_status($str)
  28. {
  29.     return (preg_match(\'/(^([\\d]{15}|[\\d]{18}|[\\d]{17}x)$)/\',$str))?true:false;
  30. }

  31. //验证邮件地址

  32. function fun_email($str){
  33.     return (preg_match(\'/^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,4}$/\',$str))?true:false;
  34. }
  35. //验证电话号码

  36. function fun_phone($str)
  37. {
  38.   return (preg_match("/^((\\(\\d{3}\\))|(\\d{3}\\-))?(\\(0\\d{2,3}\\)|0\\d{2,3}-)?[1-9]\\d{6,7}$/",$str))?true:false;
  39. }
  40. //验证邮编

  41. function fun_zip($str)
  42. {
  43.   return (preg_match("/^[1-9]\\d{5}$/",$str))?true:false;
  44. }
  45. //验证url地址

  46. function fun_url($str)
  47. {
  48.   return (preg_match("/^http:\\/\\/[A-Za-z0-9]+\\.[A-Za-z0-9]+[\\/=\\?%\\-&_~`@[\\]\\\':+!]*([^<>\\"\\"])*$/",$str))?true:false;
  49. }

  50. // 数据入库 转义 特殊字符 传入值可为字符串 或 一维数组

  51. function data_join(&$data)
  52. {
  53.   if(get_magic_quotes_gpc() == false)
  54.   {
  55.    if (is_array($data))
  56.    {
  57.     foreach ($data as $k => $v)
  58.     {
  59.      $data[$k] = addslashes($v);
  60.     }
  61.    }
  62.    else
  63.    {
  64.     $data = addslashes($data);
  65.    }
  66.   }
  67.   Return $data;
  68. }

  69. // 数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组

  70. function data_revert(&$data)
  71. {
  72.   if (is_array($data))
  73.   {
  74.    foreach ($data as $k1 => $v1)
  75.    {
  76.     if (is_array($v1))
  77.     {
  78.      foreach ($v1 as $k2 => $v2)
  79.      {
  80.       $data[$k1][$k2] = stripslashes($v2);
  81.      }
  82.     }
  83.     else
  84.     {
  85.      $data[$k1] = stripslashes($v1);
  86.     }
  87.    }
  88.   }
  89.   else
  90.   {
  91.    $data = stripslashes($data);
  92.   }
  93.   Return $data;
  94. }

  95. // 数据显示 还原 数据格式 主要用于内容输出 传入值可为字符串 或 一/二维数组

  96. // 执行此方法前应先data_revert(),表单内容无须此还原

  97. function data_show(&$data)
  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("\\n","<br>\\n",$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("\\n","<br>\\n",$data[$k1]);
  117.     }
  118.    }
  119.   }
  120.   else
  121.   {
  122.    $data=nl2br(htmlspecialchars($data));
  123.    $data=str_replace(" "," ",$data);
  124.    $data=str_replace("\\n","<br>\\n",$data);
  125.   }
  126.   Return $data;
  127. }
  128. }
  129. ?>
复制代码







上一篇:PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数
下一篇:php一个数据库操作类(跨MYSQL,MSSQL,PG)
authicon qqoxygen 发表于 2011-6-17 16:00:06 | 显示全部楼层
回贴下载呀
authicon YY大兔子 发表于 2011-6-19 07:59:49 | 显示全部楼层
好像不错的样子
authicon 乐娃娃 发表于 2011-6-21 16:59:46 | 显示全部楼层
顶你一下,好贴要顶!
authicon mjz 发表于 2011-6-22 13:00:34 | 显示全部楼层
我回不回呢 考虑再三 还是不回了吧 ^_^
authicon 蓝天blue 发表于 2011-6-22 22:00:06 | 显示全部楼层
看帖必回
authicon D_hong 发表于 2011-6-25 22:59:55 | 显示全部楼层
顶的就是你
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 07:44

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表