JavaScript判断是否是正确数值 isNaN

NaN在JavaScript中表示不是数字

JavaScript中isNaN函数方法是返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
使用方法:
isNaN(numValue)
其中必选项 numvalue 参数为要检查是否为 NAN 的值。

如果值是 NaN,
那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat
方法的返回值。还有一种办法,变量可以与它自身进行比较。 如果比较的结果不等,那么它就是 NaN 。 这是因为 NaN
是唯一与自身不等的值。

注意:NaN “Not a
Number”。出现这个数值比较少见,以至于我们可以不理它。当运算无法返回正确的数值时,就会返回“NaN”值。NaN
值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等于 NaN 。
isNaN是个函数,它计算一个参数,检查它是否为数值。

例:isNaN("A")返回true,isNaN("1")返回false

其它判断按钮是否数字方法:

javascript限制输入的只能是数字,判断event.keyCode的值,并将它限定只能为数字,如果不是数字,则返回错误,如果是数字,则继续。
我先介绍验证javascript是否是数字另一种方式,通过下面的函数来实现:
function isNumber(oNum)
   {
  if(!oNum) return false;
  var strP=/^d+(.d+)?$/;
  if(!strP.test(oNum)) return false;
  try{
  if(parseFloat(oNum)!=oNum) return false;
  }
  catch(ex)
  {
   return false;
  }
  return true;
   }
这段javascript代码很简洁,大家可以看下。
<script language=javascript>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考虑小键盘上的数字键
event.returnvalue=false;
}
</script>
<input onkeydown="onlyNum();">
下面还有一种比较笨的方法,大家也可以看下,学习嘛
下次贴个用正则验证数字的
<script language="javascript">
function CheckMyForm()
{
var txt = myform.mytext.value;
if(checknumber(txt))
{
alert("只允许输入数字!");
return false;
}
return true;
}
function checknumber(String)
{
var Letters = "1234567890";
var i;
var c;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) ==-1)
{
return true;
}
}
return false;
}
</script>
<body>
<form name="myform" onSubmit="return CheckMyForm()">
<input type="text" name="mytext">
<input type="submit" name="mysubmit">
</form>
</body> 

原文地址:https://www.cnblogs.com/weiweithe/p/4203297.html