老师 帮检查下作业 感觉写的太复杂了 功能上也有问题 帮我详细解答下吧

来源:2-25 项目作业

qq_慕神8318241

2021-10-19 11:12:15

<div>

        <div>

            <i>*</i>用户名

            <input type="text" placeholder="用户名设置成功后不可修改" class="user" id="user">

            <span class="usertips" id="usertips">6-30位字母、数字或_,以字母开头</span>

        </div>

        <div class="psw">

            <i>*</i>登录密码

            <input type="password" placeholder="6-20位字母或数字组成" class="pw" id="pw">

            <ul id="ul">

                <li></li>

                <li></li>

                <li></li>

            </ul>

            <span class="pwtips" id="pwtips">6-20位字母或数字</span>

        </div>

        <div>

            <i>*</i>确认密码

            <input type="password" placeholder="再次输入您的登录密码" class="pw2" id="pw2">

            <span class="pw2tips" id="pw2tips">输入框不能为空</span>

        </div>

        <input type="button" id="submit" class="submit" value="注册">

    </div>

    <script>

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

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

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

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

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

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

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

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


        user.onblur = function () {

            if (/^[a-zA-Z]\w{5,29}$/.test(user.value)) {

                usertips.innerText = "用户名输入正确";

                usertips.style.color = "#2bdb4a";

            } else {

                usertips.innerText = "6-30位字母、数字或’_’,字母开头";

                usertips.style.color = "red";

            }

        }


        pw.onblur = function () {

            if (/^[a-zA-Z0-9]{6,20}$/.test(pw.value)) {

                pwtips.style.display = "none";

                pw2tips.innerText = "";

                if (/^[a-z]{6,20}$|^[A-Z]{6,20}$|^\d{6,20}$/.test(pw.value)) {

                    ul.children[0].style.backgroundColor = "red";

                    ul.children[1].style.backgroundColor = "gray";

                    ul.children[2].style.backgroundColor = "gray";

                } else if (/^[a-zA-Z]{6,20}$|^[a-z0-9]{6,20}$|^[A-Z0-9]{6,20}$/.test(pw.value)) {

                    ul.children[0].style.backgroundColor = "red";

                    ul.children[1].style.backgroundColor = "orange";

                    ul.children[2].style.backgroundColor = "gray";

                } else {

                    ul.children[0].style.backgroundColor = "red";

                    ul.children[1].style.backgroundColor = "orange";

                    ul.children[2].style.backgroundColor = "green";

                }

            } else {

                pwtips.innerText = "6-20位字母或数字";

                pwtips.style.color = "red";

                pwtips.style.display = "block";

                ul.children[0].style.backgroundColor = "gray";

            }

        }


        pw2.onfocus = function () {

            if (!pw.value) {

                pw2tips.innerText = "请先输入注册密码";

                pw2tips.style.display = "inline";

            }

        }


        pw2.onblur = function () {

            if (!pw2.value) {

                pw2tips.style.display = "inline";

            } else if (pw2.value != pw.value) {

                pw2tips.innerText = "两次密码输入不一致,请重新输入";

                pw2tips.style.display = "inline";

            } else {

                pw2tips.innerText = "两次输入一致";

            }

        }


        submit.onclick = function(){

            if(/^[a-zA-Z]\w{5,29}$/.test(user.value) && /^[a-zA-Z0-9]{6,20}$/.test(pw.value) && pw2.value == pw.value){

                alert("信息填写正确");

            }else{

                alert("请填写正确的信息");

            }

        }


写回答

1回答

好帮手慕小李

2021-10-19

同学你好,当前阶段能这样实现,就很棒了。

建议:

1、 当登录密码,与确认密码相同时,确认密码的提示‘两次输入一致’字颜色应变成绿色,如不一致则提示为红字。

https://img.mukewang.com/climg/616e5bf709144d1404290228.jpg

https://img.mukewang.com/climg/616e5c000938338f07310553.jpg

优化建议:

1、 同学写代码的时候,尽量在html css js 部分写一些代码注释,这样方便自己阅读哟~

https://img.mukewang.com/climg/616e5c2e09d7d10105330216.jpg

2、 同学下次再交作业的时候请把作业中包含的html css js 一并粘贴过来,要不然老师这边看不到同学写的样式。

3、 要对自己有信心,加油~

祝学习愉快~

0

0 学习 · 17877 问题

查看课程