博主信息
forever浅笑
博文
22
粉丝
1
评论
1
访问量
12999
积分:0
P豆:214

ajax表单验证

2018年04月17日 15:33:02阅读数:608博客 / forever浅笑/ php

aaa.gif

前端代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>ajax表单验证</title>
    <style>
        body {padding:100px;font-family: "Microsoft YaHei"}
        textarea {resize: none;outline: none;vertical-align: middle;}
        input {outline: none;}
        .frm {width:400px;margin:0 auto;background: wheat;box-shadow: 3px 3px 3px #888;border-radius: 26px;padding:20px;}
        .ftitle {text-align: center;font-size:30px;font-weight:bold;margin-bottom:20px;}
        .frm p:last-child {text-align: center;}
        button {background: #6696b1;border:0;padding:6px 20px;color:#fff;}
    </style>
</head>
<body>
    <div>用户注册</div>
    <div>
        
        <p><label for="email">邮箱</label> <input type="text" name="email" id="email"></p>
        <p><label for="pwd">密码</label> <input type="password" name="pwd" id="pwd"></p>
        <p><label for="repwd">确认</label> <input type="password" name="repwd" id="repwd"></p>
        <p>
            <input type="radio" name="sex" id="man" value="男">        
            <label for="man">男</label>
            <input type="radio" name="sex" id="woman" value="女">        
            <label for="woman">女</label>
            <input type="radio" name="sex" id="secr" checked value="保密">        
            <label for="secr">保密</label>
        </p>
        <p>
            <label for="level">级别</label>
            <select name="level" id="level">
                <option value="1">初级</option>
                <option value="2" selected>中级</option>
                <option value="3">高级</option>
            </select>
        </p>
        <p>
            <label for="lang">语言</label>
            <input type="checkbox" name="lang[]" value="php" checked> <label for="php">php</label>
            <input type="checkbox" name="lang[]" value="java"> <label for="java">java</label> 
            <input type="checkbox" name="lang[]" value="net"> <label for="net">.net</label>
            <input type="checkbox" name="lang[]" value="python"> <label for="python">python</label> 
        </p>
        <p>
            <label for="">简介</label>
            <textarea name="" id="" cols="30" rows="10"></textarea>
        </p>
        <p><button type="submit">提交</button></p>
    </div>
    <script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
    <script>
        // 验证email
        $('#email').blur(function() {
            $.post('check.php?check=email','email=' + $('#email').val(),function(data){
                switch (data.status) {
                    case 0:
                        $('#email').parent().find('span').remove();
                        $('#email').after('<span>').next().css('color','red').text(data.msg).prev().focus();
                        break;
                    case 1:
                        $('#email').parent().find('span').remove();
                        $('#email').after('<span>').next().css('color','red').text(data.msg).prev().focus();
                        break;
                    case 2:
                        $('#email').parent().find('span').remove();
                        $('#email').after('<span>').next().css('color','green').text(data.msg);
                        break;
                    default:
                        break;
                }
            },'json');
        });

        // 验证密码
        $('#pwd').blur(function() {
            if ($('#email').val().length == 0) return false;
            $.post('check.php?check=pwd','pwd=' + $('#pwd').val(),function(data) {
                $('#pwd').parent().find('span').remove();
                if (data.status == 0) {
                     $("#pwd").after("<span>").next().css('color','red').text(data.msg);
                } else {
                     $("#pwd").after("<span>").next().css('color','green').text(data.msg);
                }
            },"json")
        });

        // 验证密码确认
        $('#repwd').blur(function() {
             if ($('#email').val().length == 0) return false;
            $.post('check.php?check=repwd',{
                "pwd" : $("#pwd").val(),
                "repwd" : $("#repwd").val()
            },function(data){
                switch (data.status) {
                    case 0:
                        $('#repwd').parent().find('span').remove();
                        $("#repwd").after('<span>').next().css('color','red').text(data.msg).prev().focus();
                        break;
                    case 1:
                        $('#repwd').parent().find('span').remove();
                        $("#repwd").after('<span>').next().css('color','red').text(data.msg);
                        break;
                    case 2:
                        $('#repwd').parent().find('span').remove();
                        $("#repwd").after('<span>').next().css('color','green').text(data.msg);
                        break;
                    default:
                        break;
                }
            },'json');
        });

        // 验证性别
        $('input:radio[name="sex"]').click(function() {
            $.post('check.php?check=sex','sex=' + $("input:radio[name=sex]:checked").val(), function(data){
                switch (data.status) {
                    case 0:
                      $("label:contains('保密')").parent().find('span').remove();
                      $("label:contains('保密')").after("<span style='padding:0 0 0 20px;'>").next().css('color','green').text(data.msg);
                      break;
                    case 2:
                      $("label:contains('保密')").parent().find('span').remove();
                      $("label:contains('保密')").after("<span style='padding:0 0 0 20px;'>").next().css('color','green').text(data.msg);
                      break;  
                }
            },'json')
        });

        $('button').click(function() {
            // 验证级别
            $.post('check.php?check=level', 'level=' + $("#level").val(), function(data){
                switch (data.status) {
                    case 0:
                      $("#level").parent().find('span').remove();
                      $("#level").after("<span style='padding:0 0 0 20px;'>").next().css('color','green').text(data.msg);
                      break;
                    case 2:
                      $("#level").parent().find('span').remove();
                      $("#level").after("<span style='padding:0 0 0 20px;'>").next().css('color','green').text(data.msg);
                      break;  
                }
            },'json')

            // 验证语言
            var lanVal = '';
            $.each($('input:checkbox:checked'),function(){
                lanVal += $(this).val() + ',';
            });
            $.post('check.php?check=lang','lang=' + lanVal,function(data){
                switch (data.status) {
                    case 0:
                      $(".langu").find('span').remove();
                      $(".langu").append("<span style='padding:0 0 0 20px;color:red;'>" + data.msg + "</span>");
                      break;
                    case 2:
                      $(".langu").find('span').remove();
                     $(".langu").append("<span style='padding:0 0 0 20px;color:green;'>" + data.msg + "</span>");
                      break;  
                }
            },'json')
        });
        

    </script>
</body>
</html>

后端代码

<?php
switch ($_GET['check']) {
    case 'email':
        $email = $_POST['email'];
        if (empty($email)) {
            exit(json_encode(["status" => 0, "msg" => "邮箱不能为空"]));
        } else if (in_array($email, ['admin@admin.com','cb@admin.com'])) {
            exit(json_encode(["status" => 1, "msg" => "邮箱已被占用"]));
        } else {
            exit(json_encode(["status" =>2, "msg" => "邮箱可用"]));
        }
        break;
    case 'pwd':
        $pwd = $_POST['pwd'];
        if (empty($pwd)) {
            exit(json_encode(["status"=>0, "msg" => "密码不能为空"]));
        } else {
            exit(json_encode(["status"=>1, "msg" => "验证成功"]));
        }
    case 'repwd':
        $pwd = $_POST['pwd'];
        $repwd = $_POST['repwd'];
        if (empty($repwd)) {
            exit(json_encode(["status" => 0, "msg" => "密码确认不能为空"]));
        } else if ($repwd != $pwd) {
            exit(json_encode(["status" => 1, "msg" => "两次密码不一致"]));
        } else {
            exit(json_encode(["status" =>2, "msg" => "验证成功"]));
        }
        break;
    case 'sex':
        $sex = $_POST['sex'];
        if (empty($sex)) {
            exit(json_encode(["status" => 0, "msg" => "性别不能为空"]));
        } else {
            exit(json_encode(["status" => 2, "msg" => "验证成功"]));
        }
        break;
    case 'level':
        $level = $_POST['level'];
        if (empty($level)) {
            exit(json_encode(["status" => 0, "msg" => "级别不能为空"]));
        } else {
            exit(json_encode(["status" => 2, "msg" => "验证成功"]));
        }
        break;
    case 'lang':
        $lang = $_POST['lang'];
        if (empty($lang)) {
            exit(json_encode(["status" => 0, "msg" => "语言不能为空"]));
        } else {
             exit(json_encode(["status" => 2, "msg" => "验证成功"]));
        }
    default:
        break;
}


批改状态:未批改

老师批语:

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • jquery不为数字的方法:1、使用val方法获取值;2、创建一个数字的正则达式“/^[0-9]+$/”;3、在if语句中使用test方法值是否匹配正则达式,语法为“if(正则达式对象
    在之前的文章中给大家带来了《PHP学习之的输入与》,其中详细的介绍了PHP中的输入与的相关知识,本篇我们来继续看一下怎样中的必须字段。希望对大家有帮助!
    在之前的文章中给大家带来了《PHP学习之怎样中的必需字段?》,其中详细的介绍了PHP中怎样中的必需字段的相关知识,本篇文章我们继续来看一下,怎样中的邮件和URL。
    这篇文章主要介绍了AJAX+JAVA用户登陆注册的实现代码,通过ajax异步刷新页面用户输入的账号密码是否在数据库中存在。
    layui元素的校只需在元素上加入lay-verify,layui提供了required、phone、email、url、number、date、identity等。
    下面由Laravel教程栏目给大家介绍Laravel提示设置多语言,希望对需要的朋友有所帮助!默认提示是英文的,我们可以安装语言包构建多语言环境。
    ​下面由Laravel教程栏目给大家介绍在FormRequest器中获取url中的值,希望对需要的朋友有所帮助!
    这篇文章主要为大家详细介绍了ajax实现提交时校方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    php中实现ajax提交form的方法:1、创建一个HTML和PHP文件并创建form;2、通过“$.ajax({type: "post",url:"text7.php
    layui框架:我们只需要在元素上添加lay-verify即可完成对元素的校
    ,本文继续给大家介绍如何使用PHP正则对数据进行
    这篇文章主要介绍了thinkPHP5 ajax提交操作,结合实例形式分析了thinkPHP5的ajax提交操作技巧,并附带说明了提交中的参数传递与处理技巧,需要的朋友可以参考下
    本篇文章带大家介绍超简的PHP码识别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    本篇文章给大家介绍一下使用bootstrap创建登录注册页面并实现功能的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    layui教程:本文为大家介绍了layui对标签进行校的方法,具有一定的参考价值,希望能对大家有所帮助。
    yii2.0 api post报错的解决办法:1、关闭“_csrf”;2、在中添加隐藏域;3、在Ajax中添加“_csrf”数据字段;4、将“post”提交改为“get”。
    excel2010数据在菜栏中的“数据”面板上的“数据”中设置。
    :创建,使用JavaScript+dom为添加校.要求:用户名称,必须以字母开头,长度2-6位之间.密码不能为空.确认密码不能为空,要与密码一致。
    ,其中详细的介绍了PHP中怎样设置与获取PDO属性的相关知识,本篇我们来看一下PHP的相关问题,希望对大家有帮助!
    php token的实现方法:1、创建前台form;2、设置后台“do.php”的token部分,代码如“if($token != $_POST['token']){...}”。