>PHP验证名字

[php] view plain
copy

  1. $name = test_input($_POST[“name”]);

  2. if (!preg_match(“/^[a-zA-Z ]*$/“,$name)) {

  3. $nameErr = “只允许字母和空格!”;

  4. }

preg_match()检索匹配,正则表达式(有待详解)

>PHP验证E-mail

[php] view plain
copy

  1. $email = test_input($_POST[“email”]);

  2. if (!preg_match(“/([\w\-]+\@[\w\-]+\.[\w\-]+)/“,$email)) {

  3. $emailErr = “无效的 email 格式!”;

  4. }

>验证URL

[php] view plain
copy

  1. $website = test_input($_POST[“website”]);

  2. if
    (!preg_match(“/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%

  3. =~_|]/i”,$website)) {

  4. $websiteErr = “无效的 URL”;

  5. }

>实例执行

[php] view plain
copy

  1. <body>

  2. <?php

  3. // 定义变量并设置为空值

  4. $nameErr = $emailErr = $genderErr = $websiteErr = “”;

  5. $name = $email = $gender = $comment = $website = “”;

  6. if ($_SERVER[“REQUEST_METHOD”] == “POST”) {

  7. if (empty($_POST[“name”])) {

  8. $nameErr = “姓名是必填的”;

  9. } else {

  10. $name = test_input($_POST[“name”]);

  11. // 检查姓名是否包含字母和空白字符

  12. if (!preg_match(“/^[a-zA-Z ]*$/“,$name)) {

  13. $nameErr = “只允许字母和空格”;

  14. }

  15. }

  16. if (empty($_POST[“email”])) {

  17. $emailErr = “电邮是必填的”;

  18. } else {

  19. $email = test_input($_POST[“email”]);

  20. // 检查电子邮件地址语法是否有效

  21. if (!preg_match(“/([\w\-]+\@[\w\-]+\.[\w\-]+)/“,$email)) {

  22. $emailErr = “无效的 email 格式”;

  23. }

  24. }

  25. if (empty($_POST[“website”])) {

  26. $website = “”;

  27. } else {

  28. $website = test_input($_POST[“website”]);

  29. // 检查 URL 地址语法是否有效(正则表达式也允许 URL 中的斜杠)

  30. if
    (!preg_match(“/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~|!:,.;]*[-a-z0-9+&@#\/%=~|]/i”,$website))
    {

  31. $websiteErr = “无效的 URL”;

  32. }

  33. }

  34. if (empty($_POST[“comment”])) {

  35. $comment = “”;

  36. } else {

  37. $comment = test_input($_POST[“comment”]);

  38. }

  39. if (empty($_POST[“gender”])) {

  40. $genderErr = “性别是必选的”;

  41. } else {

  42. $gender = test_input($_POST[“gender”]);

  43. }

  44. }

  45. function test_input($data) {

  46. $data = trim($data);

  47. $data = stripslashes($data);

  48. $data = htmlspecialchars($data);

  49. return $data;

  50. }

  51. ?>

  52. <h2>PHP 验证实例</h2>

  53. <p><span class=”error”>* 必需的字段</span></p>

  54. <form method=”post” action=”<?php echo
    htmlspecialchars($_SERVER[“PHP_SELF”]);?>“>

  55. 姓名:<input type=”text” name=”name”>

  56. <span class=”error”>* <?php echo $nameErr;?></span>

  57. <br><br>

  58. 电邮:<input type=”text” name=”email”>

  59. <span class=”error”>* <?php echo $emailErr;?></span>

  60. <br><br>

  61. 网址:<input type=”text” name=”website”>

  62. <span class=”error”><?php echo $websiteErr;?></span>

  63. <br><br>

  64. 评论:<textarea name=”comment” rows=”5” cols=”40”></textarea>

  65. <br><br>

  66. 性别:

  67. <input type=”radio” name=”gender” value=”female”>女性

  68. <input type=”radio” name=”gender” value=”male”>男性

  69. <span class=”error”>* <?php echo $genderErr;?></span>

  70. <br><br>

  71. <input type=”submit” name=”submit” value=”提交”>

  72. </form>

  73. <?php

  74. echo “<h2>您的输入:</h2>“;

  75. echo $name;

  76. echo “<br>“;

  77. echo $email;

  78. echo “<br>“;

  79. echo $website;

  80. echo “<br>“;

  81. echo $comment;

  82. echo “<br>“;

  83. echo $gender;

  84. ?>

  85. </body>

//摘自w3school