老师检查下代码

老师检查下代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>arguments</title>
</head>
<body>
<script>
    var userName=prompt("请输入用户名");
    var userPwd=prompt("请输入密码");
    var sure=prompt("请输入验证码");
    function login(){
        if(isNaN(arguments[1])){//补充代码
          alert("密码错误");
        }
        if(?){//补充代码
          alert("验证码不小于4位");
        }
    }
    login(userName,userPwd,sure);
</script>
</body>
</html>

代码为什么在输入验证码那里输入不到四位的数字之后点确定就消失了,逻辑来说应该重新提示用户输入验证码直到输入正确的四位为止,代码这样应该怎么写?

正在回答 回答被采纳积分+1

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

2回答
好帮手慕星星 2019-12-31 17:36:31

同学你好,问题解答如下:

http://img1.sycdn.imooc.com//climg/5e0b164e09c1d75f06900475.jpg

因为代码是按照顺序执行的,老师这样修改是先验证完密码是否输入符合条件,然后再弹验证码的输入的框,自己再测试理解下。

祝学习愉快!

好帮手慕星星 2019-12-30 18:46:18

同学你好,代码中问题:验证码条件未添加,需要判断输入内容长度是都为4,参考

http://img1.sycdn.imooc.com//climg/5e09d44209725b5d05510164.jpg

针对提问问题回复:

如果想要循环弹框直至输入正确,那么就需要while循环了,如果密码也需要判断的话,就需要密码验证正确之后再弹框验证码,参考:

<script>
        var userName = prompt("请输入用户名");
        var userPwd = prompt("请输入密码");
        // var sure = prompt("请输入验证码");

        function login() {
            while (isNaN(arguments[1])) {
                alert("密码错误");
                arguments[1] = prompt("请重新输入密码")
            }
            var sure = prompt("请输入验证码");
            while (sure.length != 4) {
                alert("验证码不小于4位");;
                sure = prompt("请重新验证码")
            }

        }
        login(userName, userPwd);
    </script>

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

  • 提问者 陈立天 #1
    老师代码中为什么声明了2个一样的变量?var sure = prompt("请输入验证码"); 这里的sure = prompt("请重新验证码")是不是也可以写为:arguments[2]= prompt("请重新验证码")
    2019-12-31 14:35:46
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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