html怎样判断是不是数字,javascript如何判断值是否是数字?

javascript如何判断一个值是否是数字?下面本篇文章就来给大家介绍一下使用javascript判断一个值是否是数字的方法,希望对大家有所帮助。

d9a4d2278a8fbcdc241cbf3bb18a4646.png

方法1:使用js自带的全局函数isNaN()

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

示例:

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")); //字符串

输出:false

false

false

false

true

true

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

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

示例:// true:数值型的,false:非数值型

function myIsNaN(value) {

document.write((typeof value === 'number' && !isNaN(value))+"
");

}

myIsNaN(10);

myIsNaN(null);

myIsNaN( );

myIsNaN();

输出:true

false

false

false

方法2:使用正则表达式/**

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

**/

function isNumber(val){

var regPos = /^\d+(\.\d+)?$/; //非负浮点数

//负浮点数

var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)

|([0-9]*[1-9][0-9]*)))$/;

if(regPos.test(val)||regNeg.test(val)){

return true;

}else{

return false;

}

}

isNumber(10);

isNumber(-10);

isNumber("hh");

输出:true

true

false

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值