为什么邮箱格式不对还显示注册成功

来源:3-9 编程练习

慕九州8176055

2020-01-02 22:26:05

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style type="text/css">

        form{

            width:300px;

            background:pink;

            text-align: center;

            padding:30px 0;

            margin:100px auto;

        }


    </style>

</head>

<body>

    <form id="form">

        <p><input type="text" name="name" id="username" placeholder="请输入账户名"></p>

        <span></span>

        <p><input type="text" name="chinaName" id="chinaName" placeholder="请输入中文名"></p>

        <span></span>

        <p><input type="email" name="eamil" id="email" placeholder="请输入邮箱"></p>

        <span></span>

        <p><input type="submit" value="注册" id="submit"></p>

    </form>

    <script type="text/javascript">

        var spans=document.getElementsByTagName("span");

        var username=document.getElementById("username");

     var chinaName=document.getElementById("chinaName");

     var email=document.getElementById("email");

     var submit=document.getElementById("submit");

     var input1=false;

     var input2=false;

     var input3=false;

        username.onfocus=function(){

            spans[0].innerHTML="请输入6-18位字母、数字、下划线";

        }

        username.onblur=function(){

            var reg=/^\w{6,18}$/;

            if(this.value==""){

                spans[0].innerHTML="请输入6-18位字母、数字、下划线";

            }else if (!reg.exec(this.value)) {

                spans[0].innerHTML="格式不正确";

            }else{

                spans[0].innerHTML="";

            }

            input1=true;

        }

        chinaName.onfocus=function(){

            spans[1].innerHTML="请输入中文名";

        }

        chinaName.onblur=function(){

            var reg=/^[\u4e00-\u9fa5]{2,4}$/;

            if(this.value==""){

                 spans[1].innerHTML="请输入中文名";

            }else if(!reg.exec(this.value)){

                spans[1].innerHTML="格式不正确";

            }else{

                spans[1].innerHTML="";

            }

            input2=true;

            }

        email.onfocus=function(){

            spans[2].innerHTML="请输入邮箱";

        }

        email.onblur=function(){

            var reg=/^\w+@\w+\.[a-z]{2,4}$/;

            if(this.value==""){

                spans[2].innerHTML="请输入邮箱";

            }else if(!reg.exec(this.value)){

                spans[2].innerHTML="格式不正确";

            }else{

                spans[2].innerHTML="";

            }

            input3=true;

        }

        submit.onclick=function(){

            if(input1==false||input2==false||input3==false){

                alert("请按要求填写完整信息!");

            }else{

                alert("注册成功!");

            }

        }

    </script>

</body>


</html>


写回答

1回答

好帮手慕星星

2020-01-03

同学你好,代码中的问题:

1、input1,input2等标志设置位置不对,代码中写在了if条件外面,无论输入是否正确,标志值都会变为true,所以判断会有问题。应该放在判断成功的后面,如下:

http://img.mukewang.com/climg/5e0ea70509084bb306900354.jpg

三个都要记得修改。

2、即使输入内容不正确,表单也会提交,这是不合理的,需要进行阻止。如下:

http://img.mukewang.com/climg/5e0ea73b0967fabd08450210.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程