实现对吗老师?

实现对吗老师?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>手机号码验证</title>
</head>
<body>
    <script>
var call=prompt("请输入手机号码");
if(call.length!=11){
    alert("几把,请输入11位的手机号码");
}else if(typeof(call)!=Number){
alert("jiba,你手机号不是数字???");
}else{
alert("恭喜你,输入正确");
}
</script>
</body>
</html>


正在回答

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

4回答

同学你好,这里表示没有问题。Number是所有数值类型的一个总称,而数值检测出来的类型是number,小写的。课程中检测出来也是小写的

http://img1.sycdn.imooc.com//climg/5f2cd11209c5ee6d09330131.jpghttp://img1.sycdn.imooc.com//climg/5f2cd11a09daf4a503930158.jpg

祝学习愉快!

提问者 localhost999 2020-08-07 11:34:48
好帮手慕星星 2020-08-07 11:02:43

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

1、prompt方法输出的内容为字符串类型,无论输入什么,结果都是string类型,符合判断,所以就执行了。类型都是小写的并且加引号,可以输出看看

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

2、‘为什么ppt22页Number是大写的?'指的是哪里呢,老师从ppt上没有找到。建议描述具体一些,或者截图上来,老师看下。

祝学习愉快!

  • 提问者 localhost999 #1
    传了图,老师看看
    2020-08-07 11:35:03
好帮手慕星星 2020-08-07 10:02:53

同学你好,检测是否为数字类型判断有误。prompt方法接收的内容为字符串类型,即使输入的内容为数字,也是字符串类型的数字,所以typeof检测出来为string,不等于number永远成立(注意这里应该小写,并且加引号'number'进行判断)。

建议:这里应该使用isNaN()方法检测是否为数字类型

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

自己再测试下,祝学习愉快!

  • 提问者 localhost999 #1
    老师为啥我输入11位的包含数字和字母的也测试正常呢?凡是类型的都要小写+引号吗?
    2020-08-07 10:13:42
  • 提问者 localhost999 #2
    为什么ppt22页Number是大写的?
    2020-08-07 10:14:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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