我输入非数字,条件就直接提醒请你输入11位手机号码,这是怎么回事?

我输入非数字,条件就直接提醒请你输入11位手机号码,这是怎么回事?

<head lang="en">

    <meta charset="UTF-8">

    <title>手机号码验证</title>

</head>


<body>

    <script>

        //补充代码

        var phone = prompt("请输入您的手机号码");

        if (phone.length != 11) {

            alert("请输入11位手机号码")

        } else if (isNaN(phone)) {

            alert("输入的号码必须是11位数字")

        } else {

            alert("号码输入正确")

        }

    </script>

</body>


</html>


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

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

2回答
好帮手慕星星 2020-07-18 10:02:59

同学你好,第二次粘贴的代码如果输入字符串不是11位,两个判断都会执行,有两次弹框效果。建议修改为

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

先判断是否为非数字,如果是数字再判断位数是否正确。

祝学习愉快!

白天出没 2020-07-17 22:23:16

第一个判断条件11位,所以无论是数字还是非数字只要不是11位都是提醒你输入11位手机号码的

  • 提问者 xiao肥瑞 #1
    if (phone.length != 11) { alert("请输入11位手机号码") }else { alert("号码输入正确") } if (isNaN(phone)) { alert("输入的号码必须是11位数字") } else { alert("号码输入正确") } 这样写就对了吧?
    2020-07-17 23:30:42
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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