请老师检查

请老师检查

<!DOCTYPE html>
<html lang="en">
<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 userinput=document.querySelectorAll('input');

        sign={
         0:false,
         1:false,
         2:false
        }
        

        var selectShow={
        0:'请输入6-18位数字, 字母, 下划线',
        1:'请输入中文名字',
        2:'请输入邮箱'
    }

    var verifyLogic={
        0:/^[\w\d_]{6,18}$/,
        1:/^[\u4e00-\u9fa5]{2,4}$/,
        2:/^[\w\d_!#\$%\^&\*\(\)\[\]]+@(?:\w){2,4}\.com$/
    }

    function verify(logic,str){
        console.log('结果为'+logic.exec(str))
            return logic.test(str);
        }
   

        each(sign,userinput,spans,verifyLogic,selectShow,function(input,spans,verifyLogic,selectShow,index){
            
            input.onfocus=function(){
                spans.innerText=selectShow;
            }
            input.onblur=function(){
                if(input.value==''){
                    console.log(input.value)
                    spans.innerText='内容不能为空';
                }else{
                    spans.innerText='';
                    var result=verify(verifyLogic,input.value)
                    if(!result){
                        spans.innerText='格式不正确';
                    }else{
                        sign[index]=true;
                        if(sign[0]&&sign[1]&&sign[2]){
                            submit.onclick=function(){
                                alert('注册成功');
                            }
                        }
                    }
                }
            }
        })
        function each(sign,input,spans,verifyLogic,selectShow,fn){
            for(var i=0;i<spans.length;i++){
                fn(input[i],spans[i],verifyLogic[i],selectShow[i],i)
            }
        }
        
    
    </script>
</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,代码进行了封装,很简洁,不需要再优化了,很棒!

祝学习愉快~

好帮手慕星星 2020-05-31 18:51:52

同学你好,代码验证效果很棒,没有问题。继续加油,祝学习愉快~

  • 提问者 慕少3568243 #1
    老师有没有什么需要优化的地方?
    2020-05-31 19:11:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师