php 表单验证 - 验证 e-mail 和 url
php 表单必填
php 表单完成
本节展示如何验证名字、电邮和 url。
php - 验证名字
以下代码展示的简单方法检查 name 字段是否包含字母和空格。如果 name 字段无效,则存储一条错误消息:
$name = test_input($_post[name]);
if (!preg_match(/^[a-za-z ]*$/,$name)) {
$nameerr = 只允许字母和空格!;
}
注释:preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。
php - 验证 e-mail
以下代码展示的简单方法检查 e-mail 地址语法是否有效。如果无效则存储一条错误消息:
$email = test_input($_post[email]);
if (!preg_match(/([\w\-]+\@[\w\-]+\.[\w\-]+)/,$email)) {
$emailerr = 无效的 email 格式!;
}
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 = "only letters and white space allowed";
}
}
if (empty($_post["email"])) {
$emailerr = "email is required";
} else {
$email = test_input($_post["email"]);
// 检查电邮地址语法是否有效
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
$emailerr = "invalid email format";
}
}
if (empty($_post["website"])) {
$website = "";
} else {
$website = test_input($_post["website"]);
// 检查 url 地址语言是否有效(此正则表达式同样允许 url 中的下划线)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%
=~_|]/i",$website)) {
$websiteerr = "invalid url";
}
}
if (empty($_post["comment"])) {
$comment = "";
} else {
$comment = test_input($_post["comment"]);
}
if (empty($_post["gender"])) {
$gendererr = "gender is required";
} else {
$gender = test_input($_post["gender"]);
}
}
?>