js判断是否是数字——isNaN()函数

原创 2014年07月01日 14:03:16

今天使用isNaN()函数判断是否是数字时遇到的问题,当变量是空串时,isNaN()的返回值还是false,但空串却不是数据,查了一下,才知道原来isNaN()把空串或空格作0处理的。


isNaN  返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。

  NaN 即 Not a Number
  isNaN(numValue)

  必选项 numvalue 参数为要检查是否为 NAN 的值。

  说明
  假如值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的输入值。
  还有一种办法,变量可以与它自身进行比较。 假如比较的结果不等,那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值。
  isNaN函数用法示例:比如我有一个textbox用于录入数字型的数据,在提交表单的时候我要验证该textbox中的值是否为数据,那么我们可以使用isNaN函数。
  function checkValue()
  {
  if(isNaN(document.all.textbox.value))
  {
  alert("请用数字录入!");
  return false;
  }
  }
  isNaN的典型使用是为parseInt和parseFloat方法的输入值进行一个提前的检验,但这种简单结果并不好。虽然可能有一些教课书上也这么说,甚至于错误地认为其是一个检查parseInt和parseFloat的返回值,这样都是错误的。
  parseInt与parseFloat是将一个字符型按数字进行一个转化。但自身还有错误处理的,如果你的输入值不是一个数字时,则parseInt和parseFloat返回一个消息:“is not number”,但一般的情况下我们都是对一个数字样式的字符串进行转换的,谁会无聊到转化非数字型的呢?所以你输入的参数是否合格,可以先进行一次isNaN检查的。
  但如果我们有意识的以下行为,事先是不能用isNaN进行检查的,数字开头中间含有字母时,如果用isNaN进行检查是通不过的。
  如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

  两个函数是独立的,并不会谁为谁而生存,isNaN与parseInt/parseFloat并没有关系。

转自http://hi.baidu.com/drtabc/item/6f57f495ba4491becc80e504


相关文章推荐

js制作动态创建table行与修改等编辑表单功能特效

"text/javascript"> //Create TR var nName = new Array("Tony","Mika","Neo","Oi","Kim","Park","Mr Lee...
  • zyu67
  • zyu67
  • 2015年03月21日 11:35
  • 1153

【R的机器学习】模型性能提升探索:神经网络

网上有很多介绍神经网络原理的文章,本质上机器学习就是一个分类器;而神经网络是一个模拟神经元学习的高级分类器,当然,神经网络也是个黑箱模型。本章使用神经网络对之前的iris数据集再次进行预测。在学习神经...

js判断是否是数字——isNaN()函数

今天使用isNaN()函数判断是否是数字时遇到的问题,当变量是空串时,isNaN()的返回值还是false,但空串却不是数据,查了一下,才知道原来isNaN()把空串或空格作0处理的。 ...

js 正则表达式 判断是否是纯数字

妈蛋  不想学js了  最讨厌写总结了 今天哥哥qiang

IDL中识别一个字符串是否是double类型的数字函数IsDoubleString

function IsDoubleString,dblstr ;用法IDL>Status=IsDoubleString(dblstr) ;Status=0或1,成功为1,否则为0 ;以下识别正确...

关于Js的isNaN()函数

今天使用isNaN()函数判断是否是数字时遇到的问题,当变量是空串时,isNaN()的返回值还是false,但空串却不是数据,查了一下,才知道原来isNaN()把空串或空格作0处理的。 is...

Delphi判断字符串是否是数字、字母、大小写字母

function IsNumberic(Vaule:String):Boolean; //判断Vaule是不是数字vari:integer;beginresult:=true; //设置返回值为 是(...

(转)java判断string变量是否是数字的六种方法小结

1.用正则表达式 首先要import java.util.regex.Pattern 和 java.util.regex.Matcher   /** * 利用正则表达式判断字符串...

判断一串数字是否是手机号的工具类

/** * 用于判断一串数字是否是手机号 * * @author Administrator * */ public class TelNumMatch { /* * 移动: 2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js判断是否是数字——isNaN()函数
举报原因:
原因补充:

(最多只允许输入30个字)