前端:用户输入
post传参,提交表单
后端用户输入验证
验证用户输入内容及格式是否正确
实例代码
<?php
header("content-type:text/html;charset=utf8");
//获取post请求提交的表单中,名为emali的值
//isset判断传入变量,判断变量状态
if(isset($_POST["email"])){
$email = $_POST["email"];
//正则判断格式是否正确,正则匹配成功返回true,反之则为false
$estimate = preg_match("/^\w{6,12}@[a-z0-9]{2,}\.(com|cn)$/",$email);
echo $estimate . '<br>' . '<hr>';
//!:取反,如果源判断为false取反后为true
if(!$estimate){
echo '内容或格式错误' . '<br>' . '<hr>';
}else{
echo '邮箱正确' . '<br>' . '<hr>';
}
}else{
//直接进入后端页面时触发:变量值为NULL,或变量不存在
echo '<script>alert("请通过正规途径进入")</script>';
}
//empty判断变量值,空为true,非空:false
if(!empty($_POST["username"])){
echo 'name is existence';
}else{
echo "<script>alert('请输入用户名')</script>";
}
/*
扩展:前端未填写任何值就提交表单,表单内字段实际上是存在的,只是它的值是一个空字符串。
在 PHP 中,空字符串是一个有效的值,因此 isset() 会认为变量已经被设置,即使它的值是空的。
*/
?>
代码运行逻辑
/*
扩展:前端未填写任何值就提交表单,表单内字段实际上是存在的,只是它的值是一个空字符串。
在 PHP 中,空字符串是一个有效的值,因此 isset() 会认为变量已经被设置,即使它的值是空的。
*/
正则讲解及如何使用
正则表达式 /^\w{6,12}@[a-z0-9]{2,}\.(com|cn)$/
用于确保邮箱地址符合以下条件:
- 以6到12个字母或数字开头。
- 包含
@
符号。 - 域名至少有两个字符长,由字母或数字组成。
- 域名后紧跟一个点(
.
),然后是com
或cn
作为顶级域名。
正则表达式元字符
正则表达式 – 元字符 | 菜鸟教程 (runoob.com)
正则快速测试在线网站
正则表达式在线测试 | 菜鸟工具 (jyshare.com)
涉及函数作用及用法
isset函数
empty函数
preg_match函数