博主信息
博文 12
粉丝 1
评论 1
访问量 14479
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP+AJAX实现表单验证-20180411
Lucifer的博客
原创
937人浏览过

HTML部分:

<!DOCTYPE html>
<html>
<head>
    <title>表单验证</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" >
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="ajax.js"></script>
    <style>
        .radio{float: left;padding-left: 20px;}
    </style>
</head>
<body>
<div class="container">
    <div class="row">
        <!-- form: -->
            <div class="col-lg-12">
                <div class="page-header">
                    <h2>注册</h2>
                </div>

                <form method="post" class="form-horizontal" action="form.php">

                    <div class="form-group">
                        <label class="col-lg-3 control-label">用户名</label>
                        <div class="col-lg-5">
                            <input type="text" class="form-control" name="username"/>
                        </div>
                        <div class="col-lg-4"> <p id="username"></p></div>
                    </div>

                    <div class="form-group">
                        <label class="col-lg-3 control-label">邮箱</label>
                        <div class="col-lg-5">
                            <input type="text" class="form-control" name="email" />
                        </div>
                        <div class="col-lg-4"> <p id="email"></p></div>
                    </div>

                    <div class="form-group">
                        <label class="col-lg-3 control-label">密码</label>
                        <div class="col-lg-5">
                            <input type="password" class="form-control" name="password" />
                        </div>
                            <div class="col-lg-4"> <p id="password"></p></div>
                    </div>



                    <div class="form-group">
                        <label class="col-lg-3 control-label">性别</label>
                        <div class="col-lg-5">
                            <div class="radio">
                                <label>
                                    <input type="radio" name="gender" value="0" /> 男
                                </label>
                            </div>
                            <div class="radio">
                                <label>
                                    <input type="radio" name="gender" value="1" /> 女
                                </label>
                            </div>
                            <div class="radio">
                                <label>
                                    <input type="radio" name="gender" value="2" /> 保密
                                </label>
                            </div>
                        </div>
                    </div>

                    <div class="form-group">
                        <div class="col-lg-9 col-lg-offset-3">
                            <button class="btn btn-primary">提交</button>
                        </div>
                    </div>
                </form>
            </div>
        <!-- :form -->
    </div>
</div>

</body>
</html>

php部分:

<?php

$username = isset($_POST['username']) ? trim($_POST['username']) : null;
if ($username !== null) {
    if (mb_strwidth($username) < 4 || mb_strwidth($username) >9) {
        echo ' <font color="#dc143c">请正确输入用户名</font></span>';
    } else {
        echo '<font color="#dc143c">用户名可以使用</font>';
    }
}


$email = isset($_POST['email']) ? trim($_POST['email']) : null;
if ($email !== null) {
    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
        echo ' <font color="#dc143c">邮箱格式不正确</font></span>';
    } else {
        echo '<font color="#dc143c">可以使用</font>';
    }
}

$password = isset($_POST['password']) ? trim($_POST['password']) : null;
if ($password !== null) {
    if (mb_strwidth($password) < 6 || mb_strwidth($password) >12) {
        echo ' <font color="#dc143c">密码必须大于6位小于12位</font></span>';
    } else {
        echo '<font color="#dc143c">密码可用</font>';
    }
}

?>

AJAX部分

$(function(){
    // 接收用户名
    $("input[name='username']") .blur(function(){
        $.ajax({
            url:"form.php", //请求验证页面
            type:"post", //请求方式 可换为post 注意验证页面接收方式
            data:"username="+ $("input[name='username']").val(), //取得表文本框数据,作为提交数据 注意前面的 user 此处格式 key=value 其他方式请参考ajax手册
            success: function(data)
            { //请求成功时执行操作
                $("#username").html(data); //向ID为chk的元素内添加html代码
            }
        });
    })

    // 接收邮箱
    $("input[name='email']") .blur(function(){
        $.ajax({
            url:"form.php", //请求验证页面
            type:"post", //请求方式 可换为post 注意验证页面接收方式
            data:"email="+ $("input[name='email']").val(), //取得表文本框数据,作为提交数据 注意前面的 user 此处格式 key=value 其他方式请参考ajax手册
            success: function(data)
            { //请求成功时执行操作
                $("#email").html(data); //向ID为chk的元素内添加html代码
            }
        });
    })

    // 接收密码
    $("input[name='password']") .blur(function(){
        $.ajax({
            url:"form.php", //请求验证页面
            type:"post", //请求方式 可换为post 注意验证页面接收方式
            data:"password="+ $("input[name='password']").val(), //取得表文本框数据,作为提交数据 注意前面的 user 此处格式 key=value 其他方式请参考ajax手册
            success: function(data)
            { //请求成功时执行操作
                $("#password").html(data); //向ID为chk的元素内添加html代码
            }
        });
    })



})


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学