批改状态:合格
老师批语:
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ajax与PHP实现表单验证</title>
<style type="text/css">
table{
margin: 40px auto;
border: double;
background-color: lightgreen;
padding:30px 10px;
border-radius: 9px;
}
caption{
font-size: 1.5em;
font-weight: bolder;
margin-bottom: 15px;
color: red;
}
td{
padding-bottom: 8px;
}
textarea{
resize: none;
}
button{
width: 100px;
height: 30px;
background-color: skyblue;
color: white;
border: none;
}
button:hover{
font-size: 1.1em;
font-weight: bolder;
background-color: orangered;
cursor: pointer;
}
</style>
</head>
<body>
<form>
<table>
<caption>用户注册表</caption>
<tr>
<td><label for="email">邮箱:</label></td>
<td><input type="email" name="email" id="email" autofocus="" placeholder="123456@qq.com"></td>
</tr>
<tr>
<td><label for="password1">密码:</label></td>
<td><input type="password" name="password1" id="password1"></td>
</tr>
<tr>
<td><label for="password2">确认:</label></td>
<td><input type="password" name="password2" id="password2"></td>
</tr>
<tr>
<td><label for="secret">性别:</label></td>
<td>
<input type="radio" name="sex" id="male"><label for="male">男</label>
<input type="radio" name="sex" id="female"><label for="female">女</label>
<input type="radio" name="sex" id="secret" checked=""><label for="secret">保密</label>
</td>
</tr>
<tr>
<td><label for="student">学历:</label></td>
<td>
<select name="student" id="student">
<option value="1">初中</option>
<option value="2">高中</option>
<option value="3" selected="">大学</option>
<option value="4">研究生</option>
</select>
</td>
</tr>
<tr>
<td><label for="">爱好:</label></td>
<td>
<input type="checkbox" name="baskball" id="baskball" ><label for="baskball">篮球</label>
<input type="checkbox" name="football" id="football" checked=""><label for="football">足球</label>
<input type="checkbox" name="ping-pongball" id="ping-pongball"><label for="ping-pongball">乒乓球</label>
<input type="checkbox" name="badminton" id="badminton"><label for="badminton">羽毛球</label>
</td>
</tr>
<tr>
<td><label for="textarea">简介:</label></td>
<td>
<textarea cols="30" rows="3" id="textarea" name="textarea"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center"><button type="submit" id="button">提交</button></td>
</tr>
</table>
</form>
</body>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$('#email').blur(function(){
$.post(
'admin/post.php?check=email',//URL地址再赋值一个值,通过get发送
'email='+$('#email').val(),//字符串拼接获取email的值
function(data){//参数data
switch(data.status){//获取状态
case 0:
$('td').find('span').remove()//删除提示,以免重复
$('#email').after('<span>').next().text(data.msg).css('color','red').prev().focus()//在email控件后面添加一个<span>元素,再选择到自身(<span>),再给其自身添加post.php返回的文字信息,并设置成红色,再返回到email聚集焦点
break;
case 1:
$('td').find('span').remove()
$('#email').after('<span>').next().text(data.msg).css('color','red').prev().focus()
break;
case 2:
$('td').find('span').remove()
$('#email').after('<span>').next().text(data.msg).css('color','green')
break;
}
},
'json'
)
})
$('#password1').blur(function(){
if($('#password1').val().length == 0){
return false
}
$.post(
'admin/post.php?check=password1',
'password1='+$('#password1').val(),
function(data){
// switch(data.status){
// case 0:
// $('td').find('span').remove()
// $('#password1').after('<span>').next().text(data.msg).css('color','red').prev().focus()
// break;
if(data.status==0){
$('td').find('span').remove()
$('#password1').after('<span>').next().text(data.msg).css('color','red').prev().focus()
}
// }
}, 'json')
})
$('#password2').blur(function(){
if($('#password2').val().length == 0){
return false
}
$.post(
'admin/post.php?check=password2',
{
password1:$('#password1').val(),
password2:$('#password2').val()
}
,
function(data){
switch(data.status){
case 0:
$('td').find('span').remove()
$('#password2').after('<span>').next().text(data.msg).css('color','red').prev().focus()
break;
case 1:
$('td').find('span').remove()
$('#password2').after('<span>').next().text(data.msg).css('color','red').prev().focus()
break;
case 2:
$('td').find('span').remove()
$('#password2').after('<span>').next().text(data.msg).css('color','green').
break;
}
},
'json'
)
})
$('#textarea').blur(function(){
if($('#textarea').val().length == 0){
return false}
$.post(
'admin/post.php?check=textarea',
'textarea='+$('#textarea').val(),
function(data){
switch(data.status){
case 0:
$('td').find('span').remove()
$('#textarea').after('<span>').next().text(data.msg).css('color','red').prev().focus()
break;
case 1:
$('td').find('span').remove()
$('#textarea').after('<span>').next().text(data.msg).css('color','red').prev().focus()
break;
case 2:
$('td').find('span').remove()
$('#textarea').after('<span>').next().text(data.msg).css('color','green')
break;
}
},
'json'
)
})
$('#button').on('click',function(){
location.href('php/a.php')
})
</script>
</html>点击 "运行实例" 按钮查看在线实例
PHP:
<?php
// echo '<pre>';
// print_r($_POST);
// echo $_GET['check'];
switch ($_GET['check']) {
//验证邮箱
case 'email':
$email = $_POST['email'];//通过$_POST获得email的值再赋值给变量$email
if(empty($email)){
//判断是否为空
exit(json_encode(['status'=> 0,'msg'=>'邮箱不能为空']));
//判断是否在该数组中
}else if(in_array($email,['happy@qq.com','demo@qq.com'])){
exit(json_encode(['status'=> 1,'msg'=>'邮箱被占用']));
}else{
exit(json_encode(['status'=> 2,'msg'=>'此邮箱可用']));
}
break;
//验证密码
case 'password1':
$password1 = $_POST['password1'];
if(empty($password1)){
exit(json_encode(['status'=> 0,'msg'=>'密码不能为空']));
}
break;
//验证确认
case 'password2':
$password1 = $_POST['password1'];
$password2 = $_POST['password2'];
if(empty($password2)){
exit(json_encode(['status'=> 0,'msg'=>'确认不能为空']));
}else if($password2 != $password1){
//判断前后两个的密码是否一致
exit(json_encode(['status'=>1 , 'msg' => '密码不一致']));
}else{
exit(json_encode(['status'=>2 , 'msg' => '密码可用']));
}
break;
//判断文本域
case 'textarea':
$textarea = $_POST['textarea'];
if(empty($textarea)){
exit(json_encode(['status'=> 0,'msg'=>'文本不能为空']));
//判断文本域内的字不能少于10个
}else if(mb_strlen( $textarea)<10){
exit(json_encode(['status'=> 1,'msg'=>'不能少于10个字']));
}else{
exit(json_encode(['status'=> 2,'msg'=>'顺利通过']));
}
}点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号