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

js判断是否是数字——isNaN()函数isNaN  返回一个Boolean值,指明提供的值是否是保留值NaN(不是数字)。  NaN即NotaNumber  isNaN(numValue)  必选项numvalue参数为要检查是否为NAN的值。  说明  假如值是NaN,那么isNaN函数返回true,否则返回false。使用这个函数的典型情况是检查parseInt

大家好,又见面了,我是你们的朋友全栈君。

今天使用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


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150219.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 服务器cpu型号后面的字母,Intel 至强 E3服务器CPU后缀解读[通俗易懂]

    服务器cpu型号后面的字母,Intel 至强 E3服务器CPU后缀解读[通俗易懂]三、Intel至强E3服务器CPU后缀解读DIY玩家认识服务器CPU最多的无疑是E3神教,今天我们就总结下XeonE3神教的CPU后缀有什么特色。●V1-V5E3神教!从SNB开始,Intel就推出了E3系列至强CPU。由于阵脚一样,只需升级BIOS就能享用信仰级至强CPU,让2011年开始E3神教开始壮大。Intel也推出了E3的后续型号,与历代酷睿对应,从IvyBridge的V2到Sk…

    2022年5月29日
    50
  • logo 图标(php图片加文字水印)

    现在很多人都在使用小红书app,但大家肯定都会有同一个问题,图片怎么保存,重点是怎么保存图片无水印。看到好看的图片想保存下来,可是却不喜欢看到有水印。今天,就好好和大家分享一下小红书保存图片途径,往下看不会让你失望。准备工作:电脑一台固乔电商图片助手小红书网站下载步骤:打开电脑下载工具固乔电商图片助手,大家可从浏览器去搜索,也可以直接在乔礼卖家驿站里面去下载这个工具。下载后直接打开就能使用,顺便在…

    2022年4月18日
    30
  • babel es6转es5原理_es6兼容es5吗

    babel es6转es5原理_es6兼容es5吗首先需要安装依赖环境npmi–save-devbabel-clibabel-preset安装es5转换npmi–save-devbabel-preset-es2015安装polyfillnpmi–save-devbabel-polyfill安装运行时转换npmi–save-devbabel-plugin-transform-r…

    2022年9月24日
    4
  • 运行游戏时出现0xc000007b错误的解决方法[通俗易懂]

    运行游戏时出现0xc000007b错误的解决方法[通俗易懂]最后更新:2019-2-28如图,0xc000007b这个错误使无数玩家烦恼。问题描述:出现这个错误,可能是硬件的问题,也可能是软件的问题。但是,由于硬件引起该问题的概率很小,并且除了更换硬件之外没有更好的解决方法,因此本文将详细介绍如何通过软件解决此问题,这也是大家最关心的。由于本文阅读用户众多,大家对于电脑故障解决的熟悉程度也不一样,因此本文致力…

    2022年6月12日
    25
  • 后台管理系统 – 权限设计

    后台管理系统 – 权限设计一、前言对于前端项目特别是中后台管理系统项目,权限设计是最复杂的点之一。一般来说权限设计需要后端来把关,毕竟相对来说前端是无法保证安全的,前端的代码和数据请求都可以伪造。而前端的权限设计更多是为了用户体验的考虑。前端保证体验,后端保证安全。由于前后端的开发差异和侧重点不同,在权限设计上也不一样。后端更多的是根据功能对象划分不同的权限模块,针对接口相应进行权限判断;而前端更多是针对页面路由进行模块划分,针对页面可访问进行判断。接下来将以后台管理系统为例,分享个人对前端权限设计的见解。(具体内容尽量做

    2022年7月16日
    14
  • Python列表(list)及其常用方法

    Python列表(list)及其常用方法列表(list):也是有序的数据集合,支持增删查改。用[]来表示列表类型,数据项之间用逗号来分割,列表中的数据项可以是任何类型(Python的特点),数据项可以变化,内存地址不会改变。支持索引和切片

    2022年7月3日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号