数值方法(JavaScript数字方法)

方法1:使用isNaN()函数isNaN()函数是js自带的全局函数,isNaN() 函数用于检查其参数是否是非数字值。如果 值x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true;如果 值x 是其他值,则返回 false。isNaN()的缺点就在于 null、空格以及空串会被按照0来处理NaN: Not a Number
document.write(i

方法1:使用isNaN()函数

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

如果 值x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true;如果 值x 是其他值,则返回 false。

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

NaN: Not a Number

<script>
document.write(isNaN(123)); //数字 ----false
document.write(isNaN(-1.23)); //数字 ----false
document.write(isNaN(5-2)); //数字 ----false
document.write(isNaN(0)); //数字 ----false
document.write(isNaN("Hello")); //字符串 ----true
document.write(isNaN("2005/12/12")); //字符串----true
</script>
12345678

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

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

示例:

// true:数值型的,false:非数值型
function myIsNaN(value) {
return (typeof value === 'number' && !isNaN(value));
}
myIsNaN(10); ----true
myIsNaN(null); ----false
myIsNaN( ); ----false
myIsNaN(); ----false
12345678

注意:如果是 ‘36.3’,typeof value === ‘number’,会返回false,如果想字符串类型的数字也返回true,可以用下面的方法3

方法2:使用正则表达式

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

/**
* 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true
**/

function isNumber(val){

var regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。

if(regPos.test(val) ){
return true;
}else{
return false;
}
}
1234567891011121314

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

/**
* 校验正负正数就返回true
**/

function isIntNum(val){
var regPos = / ^\d+$/; // 非负整数
var regNeg = /^\-[1-9][0-9]*$/; // 负整数
if(regPos.test(val) && regNeg.test(val)){
return true;
}else{
return false;
}
}
12345678910111213

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

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

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

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

/**
* 验证数据 是数字:返回true;不是数字:返回false
**/

function Number(val) {
if (parseFloat(val).toString() == "NaN") {

return false;
} else {
return true;
}
}

isNaN(val)不能判断空串或一个空格
如果是一个空串、空格或null,而isNaN是做为数字0进行处理的,
而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

以上就是JavaScript如何判断是否为数字?的详细内容,更多请关注html中文网其它相关文章!

参考
https://m.html.cn/qa/javascript/11966.html

https://www.cnblogs.com/lguow/p/11572273.html

版权声明:本文图片和内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送联系客服 举报,一经查实,本站将立刻删除,转转请注明出处:https://www.soutaowang.com/15556.html

(0)
kunkun
上一篇 2021年11月11日
下一篇 2021年11月12日

相关推荐

  • 润肤乳是什么,润肤乳液怎么用

    润肤乳是什么,润肤乳液怎么用 很多女性在使用护肤品时会把身体乳和润肤乳混淆。他们认为身体乳和润肤乳是同一个产品,但其实两者在各个方面都不一样。身体乳大家都知道是擦身体的,那润肤乳是…

    百科 2022年11月29日
    0227
  • 1314个我爱你复制粘贴一次性复制

    现在很多情侣们表白也都喜欢一些具有创意的想法,其中发我爱你这句话又有不少新的玩法,1314的谐音是一身一身,因此有网友想要发1314个我爱你文字。下面奉上一份1314个我爱你复制粘…

    百科 2022年5月28日
    02.3K
  • 深圳水贝珠宝批发市场拿货攻略,是国内zui大的黄金珠宝市场

    珠宝生意也是不少人在做的,在国内一些关于珠宝的市场有很多,但是商家更加喜欢去大型有影响力的批发市场进货,这样珠宝的款式更多。那么,国内zui大的黄金珠宝市场在哪里呢?这个肯定就要给…

    2022年6月4日
    01.6K
  • 答应入职,但是不想去了

    [db:摘要]

    百科 2021年12月20日
    01.9K
  • 井柏然女友是谁2022 井柏然资料简介

      不知大家都是在什么时间知道井柏然的,可能一说起大家印象最先想起来的是捉妖记把,最近井柏然被曝出恋情,那你知道井柏然女友是谁2022,让我们一起了解一下井柏然资料简介吧。 1井柏…

    2022年11月23日
    0137
  • 26度空调一晚上多少钱多少度电,每晚5元左右(大约9度电)

    现在时代在不断的发展,人们对于生活质量的要求也变得更加严格,大家也都在追求更加舒适的生活,空调就是追求过程中必不可少的一环。不过很多人在开空调的时候也还是有顾虑,感觉空调耗电量会很…

    2022年9月4日 百科
    0268