跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > HTML + CSS + JavaScript 实现注册页面信息验证 详细教程(表单验证)

HTML + CSS + JavaScript 实现注册页面信息验证 详细教程(表单验证)

时间:2024-04-09 16:15:31 来源:网络cs 作者:淼淼 栏目:卖家故事 阅读:

标签: 验证  详细  教程  信息  实现  注册 
阅读本书更多章节>>>>

>>> 本文介绍使用HTML + CSS + JavaScript 实现注册页面信息验证的详细方法。完整代码见文章末尾。

要求

创建一个注册页面,如下图。

然后再对注册信息进行判断,判断其是否符合要求。(如:密码6-12位字符,不能有空格等)

图片素材如下:

注册页面的整个框架

注册页面框架分析

页面内容主要分为三个部分:

我们可以使用三个块标签,可以将这三个部分分别放到每个块标签中。

注册页面框架的实现

第一部分:两个段落文本

<!-- 左边部分 --><div class="rg_left">    <p>新用户注册</p>    <p>USER REGISTER</p></div>

第二部分:一个表单

<!-- 中间部分 --><div class="rg_center">    <!-- 定义表单 form -->    <form action="#" method="post">        <!-- 定义一个表格 -->        <table>            <!-- 表格第一行有两个单元格:用户名 + 输入用户名信息区域 -->            <tr>                <!-- 定义一个标签:用户名 -->                <td class="td_left"><label for="username">用户名</label></td>                <!-- 定义输入用户名信息的框框 -->                <td class="td_right"><input type="text" name="username" id="username" placeholder="请输入用户名"></td>            </tr>            <!-- 表格第二行有两个单元格:密码 + 输入密码区域 -->            <tr>                <!-- 定义一个标签:密码 -->                <td class="td_left"><label for="password">密码</label></td>                <!-- 定义输入密码的框框 -->                <td class="td_right"><input type="password" name="password" id="password" placeholder="请输入密码"></td>            </tr>            <!-- 表格第三行有两个单元格:邮箱 + 输入邮箱区域 -->            <tr>                <!-- 定义一个标签:邮箱 -->                <td class="td_left"><label for="email">Email</label></td>                <!-- 定义输入邮箱的框框 -->                <td class="td_right"><input type="email" name="email" id="email" placeholder="请输入邮箱"></td>            </tr>            <!-- 表格第四行有两个单元格:姓名 + 输入姓名区域 -->            <tr>                <!-- 定义一个标签:姓名 -->                <td class="td_left"><label for="name">姓名</label></td>                <!-- 定义输入姓名的框框 -->                <td class="td_right"><input type="text" name="name" id="name" placeholder="请输入姓名"></td>            </tr>            <!-- 表格第五行有两个单元格:手机号 + 输入手机号码区域 -->            <tr>                <!-- 定义一个标签:手机号 -->                <td class="td_left"><label for="tel">手机号</label></td>                <!-- 定义输入手机号码的框框 -->                <td class="td_right"><input type="text" name="tel" id="tel" placeholder="请输入手机号"></td>            </tr>            <!-- 表格第六行有两个单元格:性别 + 选择性别的按钮 -->            <tr>                <!-- 定义一个标签:性别 -->                <td class="td_left"><label>性别</label></td>                <!-- 定义两个选择按钮:一个按钮"男",一个按钮"女" -->                <td class="td_right">                    <input type="radio" name="gender" value="male"> 男                    <input type="radio" name="gender" value="female"> 女                </td>            </tr>            <!-- 表格第七行有两个单元格:出生日期 + 选择出生日期控件 -->            <tr>                <!-- 定义一个标签:出生日期 -->                <td class="td_left"><label for="birthday">出生日期</label></td>                <!-- 定义选择出生日期控件 -->                <td class="td_right"><input type="date" name="birthday" id="birthday"></td>            </tr>            <!-- 表格第八行有两个单元格:验证码 + (输入验证码区域 + 验证码图片) -->            <tr>                <!-- 定义一个标签:验证码 -->                <td class="td_left"><label for="checkcode" >验证码</label></td>                <!-- 定义输入验证码的框框 -->                <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码">                    <!-- 验证码图片 -->                    <img id="img_check" src="img/verify_code.jpg">                </td>            </tr>            <!-- 表格第八行有一个单元格:注册按钮 -->            <tr>                <!-- 定义一个提交按钮 -->                <td colspan="2" align="center"><input type="submit" id="btn_sub" value="注册"></td>            </tr>        </table>    </form></div>

第三部分:登录/有账号

<!-- 右边部分 --><div class="rg_right ">    <p>已有账号?<a href="#">立即登录</a></p></div>

三个部分效果如下:

对这三个部分和页面背景,用CSS样式进行修饰:

/* 选择body标签,设置背景 */body {    background: url("./img/register_bg.png");}/* 为内容部分添加一个方框 */.rg_layout {    width: 900px;    height: 500px;    border: 8px solid #EEEEEE;    background-color: white;    /*让div水平居中*/    margin: auto;}/* 将内容分为三个部分:左、中、右 */.rg_left {    float: left;    margin: 15px;}.rg_center {    float: left;}.rg_right {    float: right;    margin: 15px;}/* 对左边部分进行描述:字体大小,字体颜色 */.rg_left > p:first-child {    color:#FFD026;    font-size: 20px;}.rg_left > p:last-child {    color:#A6A6A6;    font-size: 20px;}/* 对右边部分进行描述:字体大小,字体颜色 */.rg_right > p:first-child {    font-size: 15px;}.rg_right p a {    color:pink;}/* 对中间部分进行描述*/.td_left {    width: 100px;    /* 每行的高度为45个像素点 */    height: 45px;    /* 字体向右对齐 */    text-align: right;}.td_right {    /* 左边字体部分与右边内容部分之间,填充(隔开)50个像素点的位置 */    padding-left: 50px ;}/* 对信息输入区域的边框进行描述 */#username, #password, #email, #name, #tel, #birthday, #checkcode {    width: 251px;    height: 32px;    border: 1px solid #A6A6A6;    /* 设置边框圆角 */    border-radius: 5px;    padding-left: 10px;}/* 对验证码边框再次进行描述:减小边框的长度*/#checkcode {    width: 110px;}/* 对验证码图片进行描述 */#img_check{    height: 32px;    /* 垂直方向对齐 */    vertical-align: middle;}/* 对注册按钮进行描述 */#btn_sub{    width: 150px;    height: 40px;    background-color: #FFD026;    border: 1px solid #FFD026 ;}
描述之后,效果如下:

不过这个时候还没有验证功能,下面将实现这一功能。

表单验证功能的实现

这里拿用户名和密码进行验证:用户名和密码都是6-12位字符,不能有空格。

首先,先向表格中的用户名和密码区,插入块标签,用来显示判断的结果(用户名/密码格式是否正确)

<!-- 表格第一行有两个单元格:用户名 + 输入用户名信息区域 + 用户名是否符合 --><tr>    <!-- 定义一个标签:用户名 -->    <td class="td_left"><label for="username">用户名</label></td>    <!-- 定义输入用户名信息的框框、用户名是否符合 -->    <td class="td_right">        <input type="text" name="username" id="username" placeholder="请输入用户名">        <span id="s_username" class="error"></span>    </td></tr><!-- 表格第二行有两个单元格:密码 + 输入密码区域 + 密码是否符合 --><tr>    <!-- 定义一个标签:密码 -->    <td class="td_left"><label for="password">密码</label></td>    <!-- 定义输入密码的框框、密码是否符合 -->    <td class="td_right">        <input type="password" name="password" id="password" placeholder="请输入密码">        <span id="s_password" class="error"></span>    </td></tr>

如上,在table中添加的内容是:

<span id="s_username" class="error"></span>和<span id="s_password" class="error"></span>
具体功能的实现

校验用户名

// 校验用户名function checkUsername(){    // 1.获取用户名的值    var username = document.getElementById("username").value;    // 2.定义正则表达式    var reg_username = /^\w{6,12}$/;    // 3.判断值是否符合正则的规则    var flag = reg_username.test(username);    // 4.提示信息    var s_username = document.getElementById("s_username");    if(flag){        // 提示绿色对勾        s_username.innerHTML = "<img width='35' height='25' src='img/gou.png'/>";    }else{        // 提示红色用户名有误        s_username.innerHTML = "用户名格式有误";    }    return flag;}

校验密码

// 校验密码function checkPassword(){    // 1.获取用户名的值    var password = document.getElementById("password").value;    // 2.定义正则表达式    var reg_password = /^\w{6,12}$/;    // 3.判断值是否符合正则的规则    var flag = reg_password.test(password);    // 4.提示信息    var s_password = document.getElementById("s_password");    if(flag){        // 提示绿色对勾        s_password.innerHTML = "<img width='35' height='25' src='img/gou.png'/>";    }else{        // 提示红色用户名有误        s_password.innerHTML = "密码格式有误";    }    return flag;}
所有的实现代码如下
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>注册页面</title>    <style>        body {            background: url("./img/register_bg.png");        }                .rg_layout {            width: 900px;            height: 500px;            border: 8px solid #EEEEEE;            background-color: white;            margin: auto;        }                .rg_left {            float: left;            margin: 15px;        }        .rg_center {            float: left;        }        .rg_right {            float: right;            margin: 15px;        }                .rg_left > p:first-child {            color:#FFD026;            font-size: 20px;        }        .rg_left > p:last-child {            color:#A6A6A6;            font-size: 20px;        }                .rg_right > p:first-child {            font-size: 15px;        }        .rg_right p a {            color:pink;        }                .td_left {            width: 100px;            height: 45px;            text-align: right;        }        .td_right {            padding-left: 50px ;        }                #username, #password, #email, #name, #tel, #birthday, #checkcode {            width: 251px;            height: 32px;            border: 1px solid #A6A6A6;            border-radius: 5px;            padding-left: 10px;        }                #checkcode {            width: 110px;        }                #img_check {            height: 32px;            vertical-align: middle;        }                #btn_sub {            width: 150px;            height: 40px;            background-color: #FFD026;            border: 1px solid #FFD026 ;        }                .error {            color:red;        }        #td_sub {            padding-left: 150px;        }    </style>    <script>        window.onload = function(){            document.getElementById("form").onsubmit = function(){                return checkUsername() && checkPassword();            };            document.getElementById("username").onblur = checkUsername;            document.getElementById("password").onblur = checkPassword;        };                function checkUsername(){            var username = document.getElementById("username").value;            var reg_username = /^\w{6,12}$/;            var flag = reg_username.test(username);            var s_username = document.getElementById("s_username");            if(flag){                s_username.innerHTML = "<img width='35' height='25' src='img/gou.png'/>";            }else{                s_username.innerHTML = "用户名格式有误";            }            return flag;        }                function checkPassword(){            var password = document.getElementById("password").value;            var reg_password = /^\w{6,12}$/;            var flag = reg_password.test(password);            var s_password = document.getElementById("s_password");            if(flag){                s_password.innerHTML = "<img width='35' height='25' src='img/gou.png'/>";            }else{                s_password.innerHTML = "密码格式有误";            }            return flag;        }    </script></head><body><div class="rg_layout">    <div class="rg_left">        <p>新用户注册</p>        <p>USER REGISTER</p>    </div>    <div class="rg_center">        <div class="rg_form">            <form action="#" id="form" method="get">                <table>                    <tr>                        <td class="td_left"><label for="username">用户名</label></td>                        <td class="td_right">                            <input type="text" name="username" id="username" placeholder="请输入用户名">                            <span id="s_username" class="error"></span>                        </td>                    </tr>                    <tr>                        <td class="td_left"><label for="password">密码</label></td>                        <td class="td_right">                            <input type="password" name="password" id="password" placeholder="请输入密码">                            <span id="s_password" class="error"></span>                        </td>                    </tr>                    <tr>                        <td class="td_left"><label for="email">Email</label></td>                        <td class="td_right"><input type="email" name="email" id="email" placeholder="请输入邮箱"></td>                    </tr>                    <tr>                        <td class="td_left"><label for="name">姓名</label></td>                        <td class="td_right"><input type="text" name="name" id="name" placeholder="请输入姓名"></td>                    </tr>                    <tr>                        <td class="td_left"><label for="tel">手机号</label></td>                        <td class="td_right"><input type="text" name="tel" id="tel" placeholder="请输入手机号"></td>                    </tr>                    <tr>                        <td class="td_left"><label>性别</label></td>                        <td class="td_right">                            <input type="radio" name="gender" value="male" checked> 男                            <input type="radio" name="gender" value="female"> 女                        </td>                    </tr>                    <tr>                        <td class="td_left"><label for="birthday">出生日期</label></td>                        <td class="td_right"><input type="date" name="birthday" id="birthday" placeholder="请输入出生日期"></td>                    </tr>                    <tr>                        <td class="td_left"><label for="checkcode" >验证码</label></td>                        <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码">                            <img id="img_check" src="img/verify_code.jpg">                        </td>                    </tr>                    <tr>                        <td colspan="2" id="td_sub"><input type="submit" id="btn_sub" value="注册"></td>                    </tr>                </table>            </form>        </div>    </div>    <div class="rg_right">        <p>已有账号?<a href="#">立即登录</a></p>    </div></div></body></html>

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-04-09/156098.html,文章来源:网络cs,作者:淼淼,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论