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>

    效果:

  • 相关阅读:
    KMP算法
    快速排序的三种分区方法
    广义表
    外部排序(败者树、置换-选择排序、最佳归并树)
    内部排序
    散列表
    B树和B+树
    查找(顺序、折半、分块)
    关键路径
    拓扑排序
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8372726.html
Copyright © 2011-2022 走看看