表单验证
1、表单验证是对提交的数据进行处理,使用正则匹配对数据验证,让数据更安全有效。
2、我们先来创建一个表单。
<!DOCTYPE html>
<html>
<head>
<metacharset="UTF-8" />
<title>表单验证</title>
</head>
<body>
<h3>表单验证实例</h3>
<formaction="action.php" method="post">
姓名:<inputtype="text" placeholder="6-18字母数字下划线" name="name" /><br/><br />
年龄:<inputtype="text" placeholder="18周岁以上" name="age" /><br/><br />
邮箱:<inputtype="text" placeholder="请输入邮箱" name="email" /><br/><br />
电话:<inputtype="text" placeholder="请输入手机号码 " name="phone" /><br/><br />
<inputtype="submit" value="提交" />
<inputtype="reset" value="重置" />
</form>
</body>
</html>
3、表单我们建好了,然后创建一个action.php文件用来处理提交的数据。在action.php文件中,我们先接收提交过来的数据。
<?php
header('Content-Type:text/html;Charset=UTF-8');
$name = $_POST['name'];//接收姓名
$age = $_POST['age'];//接收年龄
$email = $_POST['email'];//接收邮箱
$phone = $_POST['phone'];//接收电话
4、接下来我们先写个验证姓名的正则,规定只能输入数字字母下划线。
/^\w{6,18}$/
5、然后我们用preg_match()函数匹配名字是否符合我们的要求。如果符合要求就会输出姓名,不符合就会输出姓名格式不符合要求。
preg_match(正则表达式,需要匹配的对象);
if(preg_match("/^\w{6,18}$/",$name)){
echo "姓名:".$name.'<br />';
}else{
echo"姓名格式不符合要求!<br />";
}
6、姓名的验证做好了,接下来的年龄、邮箱还有电话,它们的验证是一样的原理,只是正则不一样。现在我们验证年龄。年龄的正则是/^[0-9]{2,3}$/。同理,符合要求就输出年龄,不符合要求就输出年龄格式不符合要求。
if(preg_match("/^[0-9]{2,3}$/",$age) && $age > 18){
echo "年龄:".$age.'<br/>';
}else{
echo "年龄格式不符合要求!<br/>";
}
7、年龄验证好了,我们来验证邮箱和电话。邮箱的正则是:/^[\w\.]+@[\w\-]+(\.[a-z]+){1,3}$/,电话的正则是:/^1[3-8][0-9]{9}$/。其实也是跟上面差不多。如果验证成功就输出邮箱和电话,如果不成功就会输出邮箱格式和电话格式不符合要求。
//验证邮箱
if(preg_match("/^[\w\.]+@[\w\-]+(\.[a-z]+){1,3}$/",$email)){
echo "邮箱:".$email.'<br />';
}else{
echo "邮箱格式不符合!<br />";
}
//验证电话
if(preg_match("/^1[3-8][0-9]{9}$/",$phone)){
echo "电话:".$phone.'<br />';
}else{
echo "电话格式不符合要求!<br />";
}
8、如果全部输入正确,那么表单就验证成功了,看到以下的效果图那么我们的表单验证就成功了。
总结:这只是一个非常简单的表单验证,如果想更加熟练掌握表单验证的知识,还需要多加学习,才能写出更好的效果。