zoukankan      html  css  js  c++  java
  • JS应用实例1:注册页面表单校验

    这里是简单的前端校验,后边还会介绍后台的校验。

    多重校验保证获取安全数据

    步骤:

    1.确定事件onsubmit,并绑定函数

    2.编写函数,作用是获取输入数据

    3.判断数据是否合法,合法则提交,否则表单不提交

    HTML代码:

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
    
        <body>
            <table>
                <!--3.注册表单-->
                <tr>
                    <!--嵌套一个十行二列的表格-->
                    <form action="#" method="get" name="regForm" onsubmit="return checkForm()">
                        <table border="1px" width="750px" height="400px" align="center" cellpadding="0px" cellspacing="0px" bgcolor="white">
                            <tr height="40px">
                                <td colspan="2">
                                    <font size="4">会员注册</font> &nbsp;&nbsp;&nbsp;USER REGISTER
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    用户名
                                </td>
                                <td>
                                    <input type="text" name="user" size="34px" id="user" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    密码
                                </td>
                                <td>
                                    <input type="password" name="password" size="34px" id="password" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    确认密码
                                </td>
                                <td>
                                    <input type="password" name="repassword" size="34px" id="repassword"></input>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Emaile
                                </td>
                                <td>
                                    <input type="text" name="email" size="34px" id="eamil" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    姓名
                                </td>
                                <td>
                                    <input type="text" name="username" size="34px" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    性别
                                </td>
                                <td>
                                    <input type="radio" name="sex" value="男" /><input type="radio" name="sex" value="女" /></td>
                            </tr>
                            <tr>
                                <td>
                                    出生日期
                                </td>
                                <td>
                                    <input type="text" name="birthday" size="34px" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    验证码
                                </td>
                                <td>
                                    <input type="text" name="yzm" />
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2">
                                    <input type="submit" value="注册" />
                                </td>
                            </tr>
                        </table>
                    </form>
                    </td>
                </tr>
            </table>
        </body>
    
    </html>
    View Code

    效果:

    JS代码:

    <script>
                function checkForm() {
                    /**校验用户名*/
                    //1.获取用户输入的数据
                    var uValue = document.getElementById("user").value;
                    //alert(uValue);
                    if(uValue == "") {
                        //2.给出错误提示信息
                        alert("用户名不能为空!");
                        return false;
                    }
    
                    /*校验密码*/
                    var pValue = document.getElementById("password").value;
                    if(pValue == "") {
                        alert("密码不能为空!");
                        return false;
                    }
    
                    /**校验确认密码*/
                    var rpValue = document.getElementById("repassword").value;
                    if(rpValue != pValue) {
                        alert("两次密码输入不一致!");
                        return false;
                    }
    
                    /*校验邮箱*/
                    var eValue = document.getElementById("eamil").value;
                    if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(eValue)) {
                        alert("邮箱格式不正确!");
                        return false;
                    }
    
                }
            </script>
    View Code

    然而这种方式很low,用户希望的是验证信息出现在输入框的后边,并且随着输入而随时验证

    这里会用到onfocus、onblur事件

    HTML代码:

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script>
                function showTips(id, info) {
                    document.getElementById(id + "span").innerHTML = "<font color='gray'>" + info + "</font>";
                }
    
                function check(id, info) {
                    //1.获取用户输入的用户名数据
                    var uValue = document.getElementById(id).value;
                    //2.进行校验
                    if(uValue == "") {
                        document.getElementById(id + "span").innerHTML = "<font color='red'>" + info + "</font>";
                    } else {
                        document.getElementById(id + "span").innerHTML = "";
                    }
                }
            </script>
        </head>
    
        <body>
            <form action="#" method="get" name="regForm" onsubmit="return checkForm()">
                <table border="1px" width="750px" height="400px" align="center" cellpadding="0px" cellspacing="0px" bgcolor="white">
                    <tr height="40px">
                        <td colspan="2">
                            <font size="4">会员注册</font> &nbsp;&nbsp;&nbsp;USER REGISTER
                        </td>
                    </tr>
                    <tr>
                        <td>
                            用户名
                        </td>
                        <td>
                            <input type="text" name="user" size="34px" id="user" onfocus="showTips('user','用户名必填!')" onblur="check('user','用户名不能为空!')" /><span id="userspan"></span>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            密码
                        </td>
                        <td>
                            <input type="password" name="password" size="34px" id="password" onfocus="showTips('password','密码必填')" onblur="check('password','密码不能为空!')" /><span id="passwordspan"></span>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            确认密码
                        </td>
                        <td>
                            <input type="password" name="repassword" size="34px" id="repassword"></input>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Emaile
                        </td>
                        <td>
                            <input type="text" name="email" size="34px" id="eamil" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            姓名
                        </td>
                        <td>
                            <input type="text" name="username" size="34px" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            性别
                        </td>
                        <td>
                            <input type="radio" name="sex" value="男" /><input type="radio" name="sex" value="女" /></td>
                    </tr>
                    <tr>
                        <td>
                            出生日期
                        </td>
                        <td>
                            <input type="text" name="birthday" size="34px" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            验证码
                        </td>
                        <td>
                            <input type="text" name="yzm" />
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <input type="submit" value="注册" />
                        </td>
                    </tr>
                </table>
            </form>
        </body>
    
    </html>

    效果:

  • 相关阅读:
    20080619 SQL SERVER 输入 NULL 的快捷键
    20090406 Adobe的“此产品的许可已停止工作”错误的解决办法
    20080908 Office Powerpoint 2007 不能输入中文的解决办法
    20080831 ClearGertrude Blog Skin 's cnblogs_code class
    20080603 Facebook 平台正式开放
    20080519 安装 Microsoft SQL Server 2000 时提示 创建挂起的文件操作
    test
    Linux—fork函数学习笔记
    SOA的设计理念
    Why BCP connects to SQL Server instance which start with account of Network Service fail?
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8372726.html
Copyright © 2011-2022 走看看