Jquery对注册表单校验

Jquery对注册表单校验

* form表单
<form id="registerForm">
    <div id="errorMsg" style="color: red;text-align: center"></div>

    <!--提交处理请求的标识符-->
    <input type="hidden" name="action" value="register">
    <table style="margin-top: 25px;">
        <tr>
            <td class="td_left">
                <label for="username">用户名</label>
            </td>
            <td class="td_right">
                <input type="text" id="username" name="username" placeholder="请输入账号">
            </td>
        </tr>
        <tr>
            <td class="td_left">
                <label for="password">密码</label>
            </td>
            <td class="td_right">
                <input type="text" id="password" name="password" placeholder="请输入密码">
            </td>
        </tr>
        <tr>
            <td class="td_left">
                <label for="email">Email</label>
            </td>
            <td class="td_right">
                <input type="text" id="email" name="email" placeholder="请输入Email">
            </td>
        </tr>
        <tr>
            <td class="td_left">
                <label for="name">姓名</label>
            </td>
            <td class="td_right">
                <input type="text" id="name" name="name" placeholder="请输入真实姓名">
            </td>
        </tr>
        <tr>
            <td class="td_left">
                <label for="telephone">手机号</label>
            </td>
            <td class="td_right">
                <input type="text" id="telephone" name="telephone" placeholder="请输入您的手机号">
            </td>
        </tr>
        <tr>
            <td class="td_left">
                <label for="sex">性别</label>
            </td>
            <td class="td_right gender">
                <input type="radio" id="sex" name="sex" value="男" checked> 男
                <input type="radio" name="sex" value="女"> 女
            </td>
        </tr>
        <tr>
            <td class="td_left">
                <label for="birthday">出生日期</label>
            </td>
            <td class="td_right">
                <input type="date" id="birthday" name="birthday" placeholder="年/月/日">
            </td>
        </tr>
        <tr>
            <td class="td_left">
                <label for="check">验证码</label>
            </td>
            <td class="td_right check">
                <input type="text" id="check" name="check" class="check">
                <img src="checkCode" height="32px" alt="" onclick="changeCheckCode(this)">
                <script type="text/javascript">
                    //图片点击事件
                    function changeCheckCode(img) {
                        img.src="checkCode?"+new Date().getTime();
                    }
                </script>
            </td>
        </tr>
        <tr>
            <td class="td_left"> 
            </td>
            <td class="td_right check"> 
                <input type="submit" class="submit" value="注册">
                <span id="msg" style="color: red;"></span>
            </td>
        </tr>
    </table>
</form>

* jquery的校验代码
<script>
    //校验username  8-20位
    function checkUsername() {
        var username = $("#username").val();
        //定义正则
        var reg = /^\w{8,20}$/;
        //校验
        var flag = reg.test(username);
        if (flag){
            //验证成功
            $("#username").css("border","");

        }else {
            //验证失败
            $("#username").css("border","1px solid red");
        }

        return flag;
    }


    //校验password 6-20位
    function checkPassword() {
        var password = $("#password").val();
        //定义正则
        var reg = /^\w{6,20}$/;
        //校验
        var flag = reg.test(password);
        if (flag){
            //验证成功
            $("#password").css("border","");

        }else {
            //验证失败
            $("#password").css("border","1px solid red");
        }

        return flag;
    }

    //校验email
    function checkEmail(){
        var email = $("#email").val();

        //定义正则校验邮箱
        var reg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
        var flag = reg.test(email);
        if (flag){
            //验证成功
            $("#email").css("border","");

        }else {
            //验证失败
            $("#email").css("border","1px solid red");
        }
        return flag;
    }

    //校验姓名
    function checkName(){
        var name = $("#name").val();
        //校验姓名,包含中英文
        var reg = /^[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}$/

        var flag = reg.test(name);
        if (flag){
            //验证成功
            $("#name").css("border","");

        }else {
            //验证失败
            $("#name").css("border","1px solid red");
        }
        return flag;
    }

    //校验手机号
    function checkTelephone(){
        var phone = $("#telephone").val();
        //定义正则 校验phone
        var reg = /^1[34578]\d{9}$/;
        var flag = reg.test(phone);
        if (flag){
            //验证成功
            $("#telephone").css("border","");

        }else {
            //验证失败
            $("#telephone").css("border","1px solid red");
        }
        return flag;
    }

    //校验出生日期 非空
    function checkBirth(){
        var birth = $("#birthday").val();
        if (birth.length == 0 || birth == ""){
            //空
            var flag = false;
            $("#birthday").css("border","1px solid red");
            return flag;
        }else {
            //非空
            $("#birthday").css("border","");
            var flag = true;
            return flag;
        }

    }

    //校验验证码 非空
    function checkCode(){
        var code = $("#check").val();
        if (code.length == 0 || code == ""){
            //空
            var flag = false;
            $("#check").css("border","1px solid red");
            return flag;
        }else {
            //非空
            $("#check").css("border","");
            var flag = true;
            return flag;
        }

    }

    //入口函数
    $(function () {
        //表单提交的时候校验
        $("#registerForm").submit(function () {
            if (checkUsername() && checkPassword() && checkEmail() && checkName() && checkTelephone() &&
                checkBirth() && checkCode()) {
                //异步提交ajax请求
                $.post("user/register",$(this).serialize(),function (data) {
                    if (data.flag){
                        //成功
                        location.href = "http://localhost/travel/register_ok.html";
                    }else {
                        //失败
                        $("#errorMsg").html(data.errorMsg)
                    }

                });

            }
            return false; //不让表单提交,只是通过异步来传递到servlet
        });

        //失去焦点的时候校验
        $("#username").blur(checkUsername);
        $("#password").blur(checkPassword);
        $("#email").blur(checkEmail);
        $("#name").blur(checkName);
        $("#telephone").blur(checkTelephone);
        $("#birthday").blur(checkBirth);
        $("#check").blur(checkCode);
    })

</script>
  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery自定义表校验是一种使用jQuery库来实现表单验证的方法。通过使用jQuery的validate插件,可以通过编写代码来定义表的验证规则,以确保用户输入的数据符合预期的格式和要求。可以使用不同的验证规则,如最大长度、是否要求为整数等等,来限制用户输入的内容。可以使用jQuery动态添加验证规则的JS代码来为表元素添加特定的验证规则。通过使用jQuery自定义表校验,可以实现简易用的前端表单验证,无需依赖后端处理。这种方法可以通过拖拽形式生成表代码,并具备校验功能,方便开发人员直接使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [jQuery表单验证(Validate)使用方法](https://blog.csdn.net/qq_43576028/article/details/112060429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [jQuery自定义表.zip](https://download.csdn.net/download/fzl0331/13184328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值