php - 验证名称
以下代码将通过简单的方式来检测 name 字段是否包含字母和空格,如果 name 字段值不合法,将输出错误信息:
$name = test_input($_post["name"]);
if (!preg_match("/^[a-za-z ]*$/",$name))
{
$nameerr = "只允许字母及空格";
}
ps:
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"]);
// check if name only contains letters and whitespace
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"]);
// check if e-mail address syntax is valid
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailerr = "invalid email format";
}
}
if (empty($_post["website"]))
{$website = "";}
else
{
$website = test_input($_post["website"]);
// check if url address syntax is valid (this regular expression also allows dashes in the 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"]);}
}
?>
以上就是php开发之表单验证邮件和url的详细内容。