js實現註冊頁面校驗功能

本文實例為大傢分享瞭js實現註冊頁面的校驗代碼,供大傢參考,具體內容如下

基本操作

document.getElementById():獲取頁面元素
alert():向頁面彈出提示框。
innerHTML:操作頁面某個元素的內容,可以獲取,也可以賦值。
document.write():向頁面中寫內容。

本案例實現註冊表單的基本驗證功能,主要實現非空驗證、重復輸入驗證、郵箱驗證(正則驗證),通過alert提示對話框給予用戶提示信息。並且當用戶輸入非法時阻止表單提交。

步驟分析:

第一步:綁定事件(onsubmit)。為form表單綁定onsubmit事件,並調用一個自定義函數。
第二步:編寫該函數(獲取用戶輸入的數據<獲取數據時需要在指定位置定義一個 id>)
第三步:對用戶輸入的數據進行判斷
第四步:數據合法(表單提交)
第五步:數據非法(給出錯誤提示信息,阻止表單提交)

【問題】如何控制表單提交?

關於事件 onsubmit:一般用於表單提交的位置,那麼需要在定義函數的時候給出一個返回值。 onsubmit = return checkForm()
案例實現效果:當點擊“註冊”按鈕時,驗證表單輸入內容是否合法,如果不合法則給出用戶提示對話框,並且表單無法提交。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script>
            function checkFrm() {
                var usernameValue = document.getElementById("username").value;
                if(usernameValue == ""){
                    alert("用戶名不能為空");
                    return false;
                }
                var passwrodValue = document.getElementById("password").value;
                if(passwrodValue ==""){
                    alert("密碼不能為空");
                    return false;
                }
                var emailValue = document.getElementById("email").value;
                var rule = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
                if(rule.test(emailValue)) {
                    alert("輸入郵箱格式非法!");
                    return false;
                }
            }
        </script>
        <style>
            *{
                margin: 0px;
                padding: 0px;
                box-sizing: border-box;
            }
            body{
                background-color: azure;
            }
            .rg_layout{
                width:900px;
                height: 500px;
                margin: auto;
                background-color: white;
                border: 8px solid #EEEEEE;
                margin-top:30px;
            }
            .rg_left {
                border: 1px solid red;
                width: 200px;
                padding: 10px;
                float: left;
            }
            .rg_center{
                
                width:450px;
                float: left;
            }
            .rg_right{
                border: 1px solid red;
                width: 200px;
                float: right;
            }
            .td_left {
                width:100px;
                text-align: right;
                height: 45px;
            }
            .td_right{
                
                padding-left: 15px;
            }
            #username,#password,#email,#tel ,#name,#birthday,#checkcode{
                width: 251px;
                height: 32px;
                border: 1px solid #A6A6;
                border-radius: 5px;
                padding-left: 10px;
            }
            #checkcode{
                width: 110px;
            }
            #btn-sub{
                width:150px;
                height:40px;
                background-color: #00CCFF;
                border:1px solid #00CCFF;
                border-radius: 5px;
            }
            #img_check{
                height: 32px;
                vertical-align: middle;//垂直居中
            }
        </style>
    </head>
    <body>
        <div class="rg_layout">
            <div class="rg_left">
                <p>新用戶註冊</p>
                <P>USER REGISTER</P>
            </div>
            <div class="rg_center">
                <form action="#" method="get" onsubmit="return checkFrm()">
                    <table>
                        <tr>
                            <td class="td_left">
                                <label for="username">用戶名:</label>
                            </td>
                            <td class="td_right">
                                <input type="text" name="username" placeholder="請輸入用戶名" id="username">
                            </td>
                        </tr>
                        <tr>
                            <td class="td_left">
                                <label for="password">密碼:</label>
                            </td>
                            <td class="td_right">
                                <input type="password" name="password" placeholder="請輸入密碼"id="password">
                            </td>
                        </tr>
                        <tr>
                            <td class="td_left">
                                <label for="email">Email:</label>
                            </td>
                            <td class="td_right">
                                <input type="email" name="email"  id="email">
                            </td>
                        </tr>
                        <tr>
                            <td class="td_left">
                                <label for="name">姓名:</label>
                            </td>
                            <td class="td_right">
                                <input type="text" name="name" id="name">
                            </td>
                        </tr>
                        <tr>
                            <td class="td_left">
                                <label for="tel">手機號:</label>
                            </td>
                            <td class="td_right">
                                <input type="text" name="tel" id="tel">
                            </td>
                        </tr>
                        <tr>
                            <td class="td_left"><label >性別:</label></td>
                            <td class="td_right">
                                <input type="radio" name="gender" value="man">男
                                <input type="radio" name="gender" value="woman">女
                                </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">
                                <img src="#" id="img_check">
                            </td>
                        </tr>
                        <tr>
                            <td colspan="2" align="center"><input type="submit" value="註冊" id="btn-sub"/></td>    
                        </tr>

                    </table>        
                </form>    
            </div>
            <div class="rg_right">
                <P>已有賬號<a href="#" rel="external nofollow" >立即登錄</a></P>    
            </div>
        </div>
    </body>
</html>

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: