前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JavaScript小项目】用户注册校验

【JavaScript小项目】用户注册校验

作者头像
efonfighting
发布2020-02-13 17:24:56
1.5K0
发布2020-02-13 17:24:56
举报
文章被收录于专栏:一番码客

思路分析

  1. 校验字段:
    • 手机号
    • 密码
    • Email
    • 用户名
    • 性别
    • 出生日期
    • 验证码
  2. 校验手段:
    • 正则表达式判断
    • 长度判断

代码实现

代码语言:javascript
复制
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>注册页面校验</title>
    </head>
    <script>
        var flag = true;

        // 校验手机号
        function checkNum() {
            // 获取用户输入的内容
            var num = document.getElementById("username").value;
            // 定义正则表达式
            var reg = new RegExp("^1[3456789]\\d{9}$");
            // 校验手机号
            var result = reg.test(num);

            if(result) {
                document.getElementById("username_msg").innerHTML = "";
            } else {
                document.getElementById("username_msg").innerHTML = "您输入的手机号有误,请检查";
                flag = false;
            }
        }
        // 校验密码
        function checkPsw() {
            var password = document.getElementById("password").value

            if(password.length >= 6) {
                document.getElementById("password_msg").innerHTML = "";
            } else {
                document.getElementById("password_msg").innerHTML = "密码长度至少为6位";
                flag = false;
            }
        }
        // 校验重复密码
        function checkrePsw() {
            var password = document.getElementById("repassword").value

            if(password.length >= 6) {
                document.getElementById("repassword_msg").innerHTML = "";
            } else {
                document.getElementById("repassword_msg").innerHTML = "密码长度至少为6位";
                // 如果密码长度校验失败,后续的逻辑就不需要再执行了
                flag = false;
                return;
            }
            // 比对两次密码
            var psw = document.getElementById("password").value
            if(psw == password) {
                document.getElementById("repassword_msg").innerHTML = "";
            } else {
                document.getElementById("repassword_msg").innerHTML = "两次密码不一致,请检查";
                flag = false;
            }
        }

        function checkEmail() {
            // 1111 @ qq .com .cn
            // 英文字符数字-_,至少是1位
            // .英文字符数字-_,至少是1位
            // ([.][a-zA-Z0-9-_]+)+
            // 获取用户输入的内容
            var email = document.getElementById("email").value;
            // 定义正则表达式
            var reg = new RegExp("^[a-zA-Z0-9-_]+@[a-zA-Z0-9-_]+([.][a-zA-Z0-9-_]+)+$");
            // 校验手机号
            var result = reg.test(email);

            if(result) {
                document.getElementById("email_msg").innerHTML = "";
            } else {
                document.getElementById("email_msg").innerHTML = "您输入的邮箱有误,请检查";
                flag = false;
            }
        }

        function checkUserName() {
            var usr = document.getElementById("name").value;
            if(usr.length >= 5) {
                document.getElementById("name_msg").innerHTML = "";
            } else {
                document.getElementById("name_msg").innerHTML = "用户名长度至少5位";
                flag = false;
            }
        }

        function checkCode() {
            var usr = document.getElementById("checkcode").value;
            if(usr.length >= 4) {
                document.getElementById("checkcode_msg").innerHTML = "";
            } else {
                document.getElementById("checkcode_msg").innerHTML = "验证码错误";
                flag = false;
            }
        }

        function checkForm() {
            flag = true;
            checkNum();
            checkPsw();
            checkrePsw();
            checkEmail();
            checkUserName();
            checkCode();

            return flag;
        }
    </script>

    <body>
        <form onsubmit="return checkForm()">
            <table width="60%" height="90%" align="center" bgcolor="#FF88FF">
                <tr>
                    <td colspan="3">会员注册  USER REGISTER</td>
                </tr>
                <tr>
                    <td width="20%">手机号:</td>
                    <td width="40%"><input type="text" name="username" id="username" onblur="checkNum()"></td>
                    <td width="40%"><span id="username_msg"></span></td>
                </tr>
                <tr>
                    <td>密码:</td>
                    <td><input type="password" name="password" id="password" onblur="checkPsw()"></td>
                    <td><span id="password_msg"></span></td>
                </tr>
                <tr>
                    <td>确认密码:</td>
                    <td><input type="password" name="repassword" id="repassword" onblur="checkrePsw()"></td>
                    <td><span id="repassword_msg"></span></td>
                </tr>
                <tr>
                    <td>Email:</td>
                    <td><input type="text" name="email" id="email" onblur="checkEmail()"></td>
                    <td><span id="email_msg"></span></td>
                </tr>
                <tr>
                    <td>用户名:</td>
                    <td><input type="text" name="name" id="name" onblur="checkUserName()"></td>
                    <td><span id="name_msg"></span></td>
                </tr>
                <tr>
                    <td>性别:</td>
                    <td>
                        <input type="radio" name="sex" value="男" checked="checked"> 男
                        <input type="radio" name="sex" value="女" />女
                    </td>
                </tr>
                <tr>
                    <td>出生日期</td>
                    <td>
                        <input type="date" name="birthday" id="birthday">
                    </td>
                    <td><span id="birthday_msg"></span></td>
                </tr>
                <tr>
                    <td>验证码</td>
                    <td>
                        <input type="text" name="checkcode" id="checkcode" onblur="checkCode()">
                    </td>
                    <td><span id="checkcode_msg"></span></td>
                </tr>
                <tr>
                    <td colspan="2">
                        <input type="submit" value="注册" />
                    </td>
                </tr>
            </table>
        </form>
    </body>

</html>

效果展示

参考

  • 黑马程序员 120天全栈区块链开发 开源教程 https://github.com/itheima1/BlockChain


一番雾语:JavaScript小项目。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一番码客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思路分析
  • 代码实现
  • 效果展示
  • 参考
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档