Home> php教程> php手册> body text

PHP验证表单的具体实现方式

WBOY
Release: 2016-06-13 11:06:53
Original
1080 people have browsed it

学习PHP验证表单的具体代码如下:

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

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


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!