zoukankan      html  css  js  c++  java
  • 表单校验

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>注册页面</title>
    <style>
    * {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    }

    body {
    background: url("img/register_bg.png") no-repeat center;
    padding-top: 25px;
    }

    .rg_layout {
    900px;
    height: 500px;
    border: 8px solid #EEEEEE;
    background-color: white;
    /*让div水平居中*/
    margin: auto;
    }

    .rg_left {
    /*border: 1px solid red;*/
    float: left;
    margin: 15px;
    }

    .rg_left > p:first-child {
    color: #FFD026;
    font-size: 20px;
    }

    .rg_left > p:last-child {
    color: #A6A6A6;
    font-size: 20px;

    }

    .rg_center {
    float: left;
    /* border: 1px solid red;*/

    }

    .rg_right {
    /*border: 1px solid red;*/
    float: right;
    margin: 15px;
    }

    .rg_right > p:first-child {
    font-size: 15px;

    }

    .rg_right p a {
    color: pink;
    }

    .td_left {
    100px;
    text-align: right;
    height: 45px;
    }

    .td_right {
    padding-left: 50px;
    }

    #username, #password, #email, #name, #tel, #birthday, #checkcode {
    251px;
    height: 32px;
    border: 1px solid #A6A6A6;
    /*设置边框圆角*/
    border-radius: 5px;
    padding-left: 10px;
    }

    #checkcode {
    110px;
    }

    #img_check {
    height: 32px;
    vertical-align: middle;
    }

    #btn_sub {
    150px;
    height: 40px;
    background-color: #FFD026;
    border: 1px solid #FFD026;
    }

    .error {
    color: red;
    }

    #td_sub {
    padding-left: 150px;
    }
    </style>
    <script>
    /*
    * 分析:
    * 1、给表单绑定onsubmit事件,监听器找那个判断每一方法校验的结果
    * 如果都为true,则监听器方法返回true;
    * 如果有一个为false,则监听器返回false;
    * 2、定义一些方法分别校验各个表单项
    * 3、给每个表单项绑定onblur事件
    *
    * */

    window.onload = function () {
    // 1、给表单绑定onsubmit事件
    document.getElementById("form").onsubmit = function () {
    // 调用用户校验方法
    // 调用密码验证方法

    return checkUsername() && checkPassword();
    }
    // 给用户名和密码绑定离焦事件
    document.getElementById("username").onblur= checkUsername;

    document.getElementById("password").onblur= checkPassword;

    }

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

    // 校验密码
    function checkPassword() {
    // 1、获取密码的值
    var password = document.getElementById("password").value;
    // 2、定义正则表达式
    var reg_password = /^w{6,10}$/;
    // 4、提示信息
    var msg = document.getElementById("s_password");
    // 3、判断值是否符合正则表达式
    var flag = reg_password.test(password);
    if (flag) {
    msg.innerHTML = "<img src='img/gou.png' width='35px' height='25px'>";
    } else {
    msg.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-->
    <form action="#" method="get" id="form">
    <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="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>
  • 相关阅读:
    用js实现双色球
    nodejs_理解Buffer
    nodejs_buffer.copy
    nodejs_buffer.concat
    nodejs_buffer.alloc
    Ant Design Pro v4 最新版安装(跳过所有坑)
    python eventlet详解
    python 超时重试方法
    pycharm配置react
    Python性能优化的20条建议
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11408099.html
Copyright © 2011-2022 走看看