__正正经经先生4337661
2016-11-04 11:29
怎么判断输入的是不是数字?不是数字能报错
typeof(那个输入的东西);
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>返回值函数</title>
<script type="text/javascript">
var arr=['as',100,'xx'-6,'100px']
document.write("1.数组中是纯数字的有:") //100
for(var i=0 ; i<arr.length ;i++)
{
//isNaN()很特别如果你是纯数字会判断为false;其他就为true;
if(isNaN(arr[i])===false)
{ document.write(arr[i]) }
}
document.write("</br>"+"2.数组中不是纯数字的有:") //'as','xx'-6,'100px'
for(var n = 0 ; n < arr.length ;n++)
{
//当 isNaN()判断出 你不是纯数字的同时又属于数字类型的时候(就是含有数字的字符串),输出值为NaN
if(isNaN(arr[n]) === true)
{ document.write(arr[n]+",") }
}
document.write("</br>"+"3.数组中是纯数字的有:") //100
for(var p=0 ; p<arr.length ;p++)
{
//parseInt()用于强转为数字类型,比如parseInt('100px')=100 ;parseInt('560ss')=560
if(parseInt(arr[p]) === arr[p])
{ document.write(arr[p]) }
}
//转换条件自己推吧
console.log("parseInt('100px')="+parseInt('100px'))
console.log("parseInt('a')="+parseInt('a'))
console.log("parseInt('10a10')="+parseInt('10a10'))
console.log("parseInt('a10')="+parseInt('a10'))
document.write("</br>"+"4.数组中属于数字类型的有:")//100,'xx'-6
for(var j = 0 ; j < arr.length ;j++)
{
//typeof用于判断字符串类型
if(typeof arr[j] === "number")
{ document.write(arr[j]+",") }
//还搞懂isNaN()就对比一下1,2,4的关系把
}
</script>
</head>
<body>
</body>
</html>
var a='a';
a=a*1;
console.log(isNaN(a));//true
var b='1';
b=b*1;
console.log(isNaN(b));//false
比如说一个输入框,你输入了一个东西,然后点击一个button,这个时候判断的输入的是不是数字肯定不能直接判断,因为你输入进去取出来的都是string,这个时候你需要乘以1,获取这个乘以1的值,用isNaN进行判断,如果你输入的不是数字判断结果都是true,输入的是数字判断结果都是false;
if(isNaN(otext.value) === true)
文本.innerHTML="输入的不是数字"
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题