【第6周 01 elseIf】 老师这个代码哪里出差了啊?

来源:2-8 编程练习

easyschen

2021-11-26 15:51:27

问题描述:

老师麻烦看下代码,总是实现不了效果。是不是parseInt用错了?

相关截图:

https://img.mukewang.com/climg/61a090d309cc2ba610020630.jpg

相关代码:

<script>
		//补充代码
		var tel = Number(prompt("请输入11位手机号码"));
		var telNum = parseInt(tel);
		if(tel.length == 11){
		    if(telNum.length == 11){   
		        alert("your nubmer is " + telNum);
		    }else{
		        alert("your number is not pure");
		    }
		}else{
		     alert("again 请输入11位手机号码"); 
		} 
	</script>


写回答

2回答

好帮手慕星星

2021-11-26

同学你好,这种情况是存在的,isNaN()方法隐式转化用的是Number(),会自动滤掉不是数字的内容,所以结尾有小数点也会检测是数字。

同学的写法是可以的,或者在第二层判断中加上数字大小的判断,例如

https://img.mukewang.com/climg/61a0a133093ae29508440348.jpg

建议:

这里可以暂时不考虑有小数点的情况,等后面学习了正则,会对输入的内容进行严格匹配,也是实际开发中常用的。

1

好帮手慕星星

2021-11-26

同学你好,代码问题如下:

1、字符串有长度,数字没有长度,所以不需要提前转化为数字类型

2、检测是否为数字类型,可以用isNaN()

参考:

https://img.mukewang.com/climg/61a09a64095c2de306050408.jpg

祝学习愉快!

1
hasyschen
hp>isNaN相关总结:


https://img.mukewang.com/climg/61a0a03e09c3263813220868.jpg

h021-11-26
共3条回复

0 学习 · 15276 问题

查看课程