js -DOM-【註冊表單的實現】

【內容:javascript案例-註冊表單校驗】

前面我們已經學過了正則,以下我們在對錶單數據進行驗證時,就會使用到正則表達式,並且會使用上面提到過的dom來顯示一些錯誤信息。

              需求:

1.      驗證郵箱符合規則,並且不能爲空

2.      驗證會員名密碼不能爲空,並且保證長度至少6位

3.      重複密碼要與密碼一致.

          分析:

1.      驗證非空 /^\s*$/

2.      驗證郵箱符合規則,正則表達式是: /^(\w)+@(\w)+(\.\w+)+$/

3.      驗證會員名與密碼長度至少6位 /^ (\w){6,}$/

4.      驗證重複密碼與密碼一致,我們不需要使用正則,直接比較就可以。

5.      對於上述操作,我們在使用時,可以使用javascript中提供的test方法完成。

6.      爲了保證數據不正確情況下,表單不能提交,我們需要使用onsubmit,如果綁定的函數返回的是false,表單就不能被提交  

實現:

<script type="text/javascript">

              function checkForm(){

                     //1.獲取數據

                     varemail=document.getElementById("email");

                     varusername=document.getElementById("username");

                     varpassword=document.getElementById("password");

                     varrepassword=document.getElementById("repassword");                 

                     //2..驗證非空

                     if(checkNull(email.value)){

                            //如果返回true,代表email爲空

                         document.getElementById("email_msg").innerHTML="<fontcolor='red'>郵箱不能爲空</font>";

                            returnfalse;

                     }

                     if(checkNull(username.value)){

                            //如果返回true,代表email爲空

                         document.getElementById("username_msg").innerHTML="<fontcolor='red'>會員名不能爲空</font>";

                            returnfalse;

                     }

                     if(checkNull(password.value)){

                            //如果返回true,代表email爲空

                         document.getElementById("password_msg").innerHTML="<fontcolor='red'>密碼不能爲空</font>";

                            return false;

                     }

                     if(checkNull(repassword.value)){

                            //如果返回true,代表email爲空

                         document.getElementById("repassword_msg").innerHTML="<fontcolor='red'>重複密碼不能爲空</font>";

                            returnfalse;

                     }

                     //3.驗證郵箱符合規則

                     if(!checkEmail(email.value)){

                            //如果返回true,代表符合規則

                         document.getElementById("email_msg").innerHTML="<fontcolor='red'>請輸入有效的郵箱地址</font>";

                            returnfalse;

                     }

                    

                     //4.驗證會員名或密碼長度大於6位

                     if(!checkLength(username.value)){

                         document.getElementById("username_msg").innerHTML="<fontcolor='red'>會員名長度必須大於6位</font>";

                            returnfalse;

                     }

                     if(!checkLength(password.value)){

                         document.getElementById("password_msg").innerHTML="<fontcolor='red'>會員名長度必須大於6位</font>";

                            returnfalse;

                     }

                     //5.驗證兩次輸入密碼一致

                     if(password.value!=repassword.value){

                         document.getElementById("repassword_msg").innerHTML="<fontcolor='red'>兩次密碼輸入不一致</font>";

                            returnfalse;

                     }

                    

                     returntrue;

              }

              //驗證長度

              functioncheckLength(data){

                     varreg=/^\w{6,}$/;

                     returnreg.test(data);

              }

              //驗證郵箱

              functioncheckEmail(data){

                     varreg=/^(\w)+@(\w)+(\.\w+)+$/;

                     returnreg.test(data);

              }

              //驗證非空

              functioncheckNull(data){

                     varreg=/^\s*$/; //0個或多個空字符串

                     return(reg.test(data))//如果data符合規則,返回true,否則返回false                           

                    

              }

</script>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章