使用JavaScript怎么判断一个对象是否为数字

  介绍

使用JavaScript怎么判断一个对象是否为数字?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

操作环境:windows7多系统,javascript1.8.5版,戴尔G3电脑。

<强>方法1:使用isNaN()函数

isNaN()函数是js自带的全局函数,isNaN()函数用于检查其参数是否是非数字值。

如果值x是特殊的非数字值南(或者能被转换为这样的值),返回的值就是真的,如果值x是其他值,则返回错误的。

isNaN()的缺点就在于空,空格以及空串会被按照0来处理

南:Not  a 数字   & lt; script>   document . write (isNaN(123));,,//数字   document . write (isNaN(-1.23));,,//数字   document . write (isNaN(5 - 2));,,//数字   document . write (isNaN(0));,,//数字   document . write (isNaN (“Hello"));,,//字符串   document . write (isNaN (“2005/12/12"));,,//字符串   & lt;/script>

输出:

假   假   假   假   真正的   真正的

缺点:isNaN()会将空,空格以及空串按照0来处理,所以检查不严谨。

所以用加工一下,和typeof运算符一起使用。

示例:

//,真的:数值型的,错误的:非数值型   function  myIsNaN(值),{   ,,document . write (typeof  value ===, & # 39;数字# 39;,,,,! isNaN(值))+“& lt; br>“);   }   myIsNaN (10),,   myIsNaN (null),,   myIsNaN (,);   myIsNaN ();

输出:

正确的   假   假   假

<>强方法2:使用正则表达式

(1),校验只要是数字(包含正负整数,0以及正负浮点数)就返回真正的

/* *   *,校验只要是数字(包含正负整数,0以及正负浮点数)就返回现实   * */function  isNumber (val) {   ,,,var  regPos =,/^[0 - 9] +。?[0 - 9] */,,//判断是否是数字。   ,,   ,,,如果(regPos.test (val),) {   ,,,,,,,return 真实;   还有,,,}{   ,,,,,,,return 假;   ,,,}   }

(2)、校验正负正数就返回真正的

/* *   *,校验正负正数就返回现实   * */function  isIntNum (val) {   ,,,var  regPos =,,/^ \ d +/美元;,//,非负整数,   ,,,var  regNeg =,/^ \[1 - 9][0 - 9] * $/;,//,负整数   ,,,如果(regPos.test (val),,,, regNeg.test (val)) {   ,,,,,,,return 真实;   还有,,,}{   ,,,,,,,return 假;   ,,,},   }

<>强方法3:利用parseFloat()的返回值

parseFloat()函数可解析一个字符串,并返回一个浮点数。

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

用法:将参数中指定的字符串解析成为一个浮点数字并返回。

/* *   *,验证数据,是数字:返回正确的;不是数字:返回错误的   * */function 号码(val), {   if  (parseFloat (val) .toString (),==,“NaN"), {      return 假;   },{else    return 真实;   }   }//isNaN (val)不能判断空串或一个空格//如果是一个空串,空格或null,而isNaN是做为数字0进行处理的,//而方法与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

看完上述内容,你们掌握使用JavaScript怎么判断一个对象是否为数字的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

使用JavaScript怎么判断一个对象是否为数字