js -DOM-【注册表单的实现】

【内容:javascript案例-注册表单校验】

前面我们已经学过了正则,以下我们在对表单数据进行验证时,就会使用到正则表达式,并且会使用上面提到过的dom来显示一些错误信息。

              需求:

1.      验证邮箱符合规则,并且不能为空

2.      验证会员名密码不能为空,并且保证长度至少6位

3.      重复密码要与密码一致.

          分析:

1.      验证非空 /^\s*$/

2.      验证邮箱符合规则,正则表达式是: /^(\w)+@(\w)+(\.\w+)+$/

3.      验证会员名与密码长度至少6位 /^ (\w){6,}$/

4.      验证重复密码与密码一致,我们不需要使用正则,直接比较就可以。

扫描二维码关注公众号,回复: 464163 查看本文章

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>


猜你喜欢

转载自blog.csdn.net/zhanglihaooo/article/details/79247365