3-9编程练习,请老师帮忙修正或优化,Thanks♪(・ω・)ノ

来源:3-9 编程练习

lianhilda

2020-04-24 10:16:40

<!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 pattern=/^\w{6,18}$/;

         if(this.value==''){

             spans[0].innerHTML='账户名不能为空';

         }else if(!pattern.test(this.value)){

             spans[0].innerHTML='账户名必须为6-18位字母、数字或下划线';

         }else{

             spans[0].innerHTML='账户名格式正确';

             input1=true;

         }

     }

        // 中文名

     chinaName.onfocus=function(){

         spans[1].innerHTML='请输2-5位中文';

     }

     chinaName.onblur=function(){

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

         if(this.value==''){

             spans[1].innerHTML='姓名不能为空';

         }else if(!pattern.test(this.value)){

             spans[1].innerHTML='姓名名必须为2-5位中文';

         }else{

             spans[1].innerHTML='姓名格式正确';

             input2=true;

         }

     }

        // 邮箱

     email.onfocus=function(){

         spans[2].innerHTML='请输邮箱号';

     }

     email.onblur=function(){

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

         if(this.value==''){

             spans[2].innerHTML='邮箱不能为空';

         }else if(!pattern.test(this.value)){

             spans[2].innerHTML='邮箱格式不正确';

         }else{

             spans[2].innerHTML='邮箱格式正确';

             input3=true;

         }

     }

        // 提交

        submit.onclick=function(){

            if(input1&&input2&&input3){

                alert('注册成功');

            }else{

                alert('请按要求填写信息');

            }

        }

    </script>

</body>


</html>


写回答

1回答

好帮手慕言

2020-04-24

同学你好,第一次输入符合条件的内容,再修改为不符合条件的内容,点击注册按钮时,会弹出注册成功的提示,如下:

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

建议:如果不符合条件,将标识符修改为false,以第一个输入框为例:
http://img.mukewang.com/climg/5ea2813c09c8096206320401.jpg

代码比较简洁,可以不用优化了。祝学习愉快~

0

0 学习 · 14456 问题

查看课程