PHP 表单 – 验证邮件和URL
本章节我们将介绍如何验证 names(名称), e-mails(邮件), 和 URLs。
PHP – 验证名称
以下代码将通过简单的方式来检测 name 字段是否包含字母和空格,如果 name 字段值不合法,将输出错误信息:
$name = test_input($_POST[\"name\"]); if (!preg_match(\"/^[a-zA-Z ]*$/\",$name)) { $nameErr = \"只允许字母和空格\"; }
preg_match — 进行正则表达式匹配。
语法: int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] ) 在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。如果提供了 matches ,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。 |
PHP – 验证邮件
以下代码将通过简单的方式来检测 e-mail 地址是否合法。如果 e-mail 地址不合法,将输出错误信息:
$email = test_input($_POST[\"email\"]); if (!preg_match(\"/([\\w\\-]+\\@[\\w\\-]+\\.[\\w\\-]+)/\",$email)) { $emailErr = \"非法邮箱格式\"; }
PHP – 验证 URL
以下代码将检测URL地址是否合法 (以下正则表达式运行URL中含有破折号:\”-\”), 如果 URL 地址不合法,将输出错误信息:
$website = test_input($_POST[\"website\"]); if (!preg_match(\"/\\b(?:(?:https?|ftp):\\/\\/|www\\.)[-a-z0-9+&@#\\/%?=~_|!:,.;]*[-a-z0-9+&@#\\/%=~_|]/i\",$website)) { $websiteErr = \"非法的 URL 的地址\"; }
PHP – 验证 Name, E-mail, 和 URL
代码如下所示:
<?php // 定义变量并默认设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = \"\"; $name = $email = $gender = $comment = $website = \"\"; if ($_SERVER[\"REQUEST_METHOD\"] == \"POST\") { if (empty($_POST[\"name\"])) { $nameErr = \"Name is required\"; } else { $name = test_input($_POST[\"name\"]); // 检测名字是否只包含字母跟空格 if (!preg_match(\"/^[a-zA-Z ]*$/\",$name)) { $nameErr = \"只允许字母和空格\"; } } if (empty($_POST[\"email\"])) { $emailErr = \"Email is required\"; } else { $email = test_input($_POST[\"email\"]); // 检测邮箱是否合法 if (!preg_match(\"/([\\w\\-]+\\@[\\w\\-]+\\.[\\w\\-]+)/\",$email)) { $emailErr = \"非法邮箱格式\"; } } if (empty($_POST[\"website\"])) { $website = \"\"; } else { $website = test_input($_POST[\"website\"]); // 检测 URL 地址是否合法 if (!preg_match(\"/\\b(?:(?:https?|ftp):\\/\\/|www\\.)[-a-z0-9+&@#\\/%?=~_|!:,.;]*[-a-z0-9+&@#\\/%=~_|]/i\",$website)) { $websiteErr = \"非法的 URL 的地址\"; } } if (empty($_POST[\"comment\"])) { $comment = \"\"; } else { $comment = test_input($_POST[\"comment\"]); } if (empty($_POST[\"gender\"])) { $genderErr = \"性别是必需的\"; } else { $gender = test_input($_POST[\"gender\"]); } } ?>
运行实例 »
点我分享笔记