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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++ 调用Matlab画图「建议收藏」

    C++ 调用Matlab画图「建议收藏」劳动节闲来无事,写了一天程序,justforfun.看,这是C++调用Matlab画图的一段程序。暂时不想多解释了,有兴趣的话,看看下面的代码吧。#include#include#include#include#include#includeusingnamespace

    2022年9月20日
  • H3C交换机常用命令大全

    H3C交换机常用命令大全一.用户配置:system-view[H3C]superpasswordH3C设置用户分级密码[H3C]undosuperpassword删除用户分级密码[H3C]localuserbigheap1234561Web网管用户设置,1(缺省)为管理级用户,缺省admin,admin[H3C]undolocaluserbigheap删…

    2022年6月20日
  • 查看idea激活码(最新序列号破解)

    查看idea激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
  • Hadoop/Spark相关面试问题总结

    Hadoop/Spark相关面试问题总结Hadoop/Spark相关面试问题总结

    2022年4月23日
  • 谷歌高级搜索技巧_谷歌搜索app技巧

    谷歌高级搜索技巧_谷歌搜索app技巧现在编程几乎就等同于谷歌了(虽然并不是什么好习惯,但很多人就是这么做的)。比如现在你想写个程序来实现某种功能,有99%的可能已经有人完成了并且把代码上传到了StackOverflow或者Github上。办公桌上已经不需要放一堆堆的参考书了,我们只需要把想知道的键入搜索框,然后期待着答案出现在前九个结果中就好了。不过很多人可能不知道,Google隐藏着许多功能强大的搜索技巧。就像掌握快捷

    2022年10月21日
  • 分享一个网易新闻的api接口「建议收藏」

    分享一个网易新闻的api接口「建议收藏」首页一进入就获取数据可以用下面这个通过跨域请求,我用的是script跨域,即varoScipt=document.createElement(‘script’)oScript.src=’http://3g.163.com/touch/jsonp/sy/recommend/0-9.html?callback=getNews’;document,bod…

    2022年10月3日

发表回复

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

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