web应用开发:通过JQuery实现用户注册信息校验

要求:
通过jQuery实现用户注册身份验证,当每个文本框失去焦点时进行该文本框内容校验,并将校验信息在文本框右侧显示出结果。具体校验要求:

  • 用户名由6-18位字符组成
  • 密码由6-18位字符组成,且必须包含字母、数字和标点符号
  • 确认密码必须和密码相同,否则提示密码不一致
  • 电子邮件必须符合电子邮件格式
  • 自我介绍不能为空
  • 用户点击重置时清空所有文本框内容
  • 用户点击提交是将用户信息存入对象user中,同时检查性别、出生日期是否选择,如果没有就弹出提示对话框,爱好至少选择一个,否支弹出提示。

代码如下:

代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
    <script src="jquery-3.4.1.js" type="text/javascript"></script>
</head>
<body>
<form id="userPorm" name="user" action="#" method="post">
    <table align="conter" width="900">
        <tr>
            <td>用 户 名</td>
            <td>
                <input name="username" type="text" id="txtUser"></input>
            </td>
            <td id="info_username">*用户名由6-18位字符组成</td>
        </tr>
        <tr>
            <td>密&nbsp&nbsp码</td>
            <td><input name="password" type="password" id="txtPwd"></input></td>
            <td id="info_passwd" >*密码必须由6-18位组成,且必须包含字母数字和标点符号</td>
        </tr>
        <tr>
            <td>确认密码</td>
            <td>
                <input type="password" name="password" id="txtRpt" ></input>
                <td id="info_rpass">*请再次输入密码</td>
        </tr>
        <tr>
            <td>用户类型</td>
            <td>
                <select name="userType" id="selUser">
                    <option value="1">管理员</option>
                    <option value="2">普通用户</option>
                </select>
            </td>
            <td>*请选择用户类型</td>
        </tr>
        <tr>
            <td>性&nbsp&nbsp别</td>
            <td>
                <input class="sex" name="sex" type="radio" value="sale" /><input class="sex" name="sex" type="radio" value="female" /></td>
            <td>*请选择你的性别</td>
        </tr>
        <tr>
            <td>出生日期</td>
            <td>
                <input name="birthdate" type="date" id="txtDate" />
            </td>
            <td>*请选择你的出生日期</td>
        </tr>
        <tr>
            <td>兴趣爱好</td>
            <td>
                <input class="hobby" name="hobby" type="checkbox" value="reading" />阅读
                <input class="hobby" name="hobby" type="checkbox" value="music" />音乐
                <input class="hobby" name="hobby" type="checkbox" value="sports" />运动
            </td>
            <td>*请选择兴趣爱好</td>
        </tr>
        <tr>
            <td>电子邮件</td>
            <td>
                <input name="email" type="email" id="txtMail"></input>
            </td>
            <td id="info_mail">*请填写常用的email,便于将密码找回</td>
        </tr>
        <tr>
            <td>自我介绍</td>
            <td>
                <textarea name="introduction" cols="40" rows="5" id="txtIntro"></textarea>
            </td>
            <td>*</td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" name="submit" id="register" value="提交" />
                <input id="reset" type="reset" name="reset" value="重置" />
            </td>
        </tr>
    </table>
</form>
</body>
<script>
    $(document).ready(function () {
     
     
        $('#txtUser').blur(function () {
     
     
            var username=$(this).val();
            if(checkUserName(username)){
     
     
                $('#info_username').text("用户名正确");
            }else {
     
     
                $('#info_username').text("用户名不符合要求,必须以字母开头长度在6-18字符");
            }
        });
        $('#txtPwd').blur(function () {
     
     
            var password=$(this).val();
            if (checkPasswd(password)){
     
     
                $('#info_passwd').text("密码符合要求");
            } else {
     
     
                $('#info_passwd').text("密码不符合要求");
            }
        })
        $('#txtRpt').blur(function () {
     
     
            var password=$('#txtPwd').val();
            var rpass=$(this).val();
            if (password==rpass){
     
     
                $('#info_rpass').text("确认密码和密码一致");
            } else {
     
     
                $('#info_rpass').text("确认密码和密码不一致");
            }
        })
        $('#txtMail').blur(function () {
     
     
            var mail=$(this).val();
            if (checkMail(mail)){
     
     
                $('#info_mail').text("邮箱地址格式正确");
            } else {
     
     
                $('#info_mail').text("邮箱地址格式不正确");
            }
        })
        function checkMail(mail) {
     
     
            var re=/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
            if (re.test(mail)){
     
     
                return true;
            } else {
     
     
                return false;
            }

        }
        function checkPasswd(pass) {
     
     
            var re=/^(?=.*?[a-zA-Z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,16}$/;
            if (re.test(pass)){
     
     
                return true;
            }else {
     
     
                return false;
            }
        }
        function checkUserName(name) {
     
     
            var re=/^[a-zA-Z]\w{6,18}/;
            if (re.test(name)){
     
     
                return true;
            } else {
     
     
                return false;
            }
        }
        $('#register').click(function () {
     
     
            var user={
     
     };
            var username=$('#txtUser').val();
            if(checkUserName(username)){
     
     
                user.username=username;
            }else {
     
     
                alert("用户名格式不正确");
            }
            var password=$('#txtPwd').val();
            if (checkPasswd(password)){
     
     
                user.password=password;
            } else {
     
     
                alert("密码不符合要求");
                return;
            }
            var rpass=$('#txtRpt').val();
            if (password!=rpass){
     
     
                alert("确认密码和密码不一致");
                return;
            }
            var type=$('#selUser').val();
            user.type=type;
            var sex=$(".sex:checked").val();
            if (sex==null){
     
     
                alert("请选择性别");
                return;
            }
            user.sex=sex;
            var birthday=$("#txtDate").val();
            if(birthday==null){
     
     
                alert("请选择出生日期");
                return;
            }else {
     
     
                user.birthday=birthday;
            }
            var hobby=new Array();
            $(".hobby:checked").each(function () {
     
     
                hobby.push($(this).val())
            });
            if (hobby.length==0){
     
     
                alert("请选择爱好");
                return;
            }else {
     
     
                user.hobby=hobby;
            }

            var mail=$("#txtMail").val();
            if (checkMail(mail)){
     
     
                user.mail=mail;
            } else {
     
     
                alert("邮箱格式不正确");
                return;
            }
            var introduction=$("#txtIntro").val();
            if(introduction==null||introduction.length==0){
     
     
                alert("自我介绍不能为空");
                return;
            }
            user.introduction=introduction;
            alert(user);
        });
        $('#reset').click(function () {
     
     
            $("input").val("");
        });

    })
</script>
</html>

效果截图:
1、用户名、密码、确认密码、电子邮件不符合要求,在文本框右侧显示出提示。
在这里插入图片描述

2、性别、爱好未选择,自我介绍为空,点击提交会弹出提示。
(1)、性别未选择
在这里插入图片描述
(2)、爱好未选择
在这里插入图片描述
(3)、自我介绍为空
在这里插入图片描述
3、点击重置清空文本框
在这里插入图片描述
4、要求都符合
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43916678/article/details/104735111
今日推荐