JS判断数字类型

JavaScript判断输入是否为数字类型的方法总结

前言

很多时候需要判断一个输入是否位数字,下面简单列举集中方法。

第一种方法 isNaN

isNaN  返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。 

  NaN 即 Not a Number 

 
1
isNaN(numValue)

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

第二种方法 正则表达式

 
1
2
3
4
5
6
function checkRate(input) {
   var re = /^[0-9]+.?[0-9]*/; //判断字符串是否为数字//判断正整数/[1−9]+[0−9]∗]∗/
   if (!re.test(nubmer)) {
    alert(“请输入数字”);
  }
}

第三种方法 利用parseFloat的返回值

 
1
2
3
4
5
6
7
8
9
10
function isNotANumber(inputData) {
   //isNaN(inputData)不能判断空串或一个空格
   //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
   if (parseFloat(inputData).toString() == “NaN”) {
     //alert(“请输入数字……”);
     return false ;
  } else {
     return true ;
  }
}

转载于:https://www.cnblogs.com/Joe-and-Joan/p/10015355.html

### 如何在 JavaScript判断一个值是否为数字类型JavaScript 中,可以通过多种方法来验证某个值是否属于数字类型。以下是几种常见的实现方式: #### 方法一:使用 `typeof` 操作符 `typeof` 是一种基本的操作符,可以用来检测变量的数据类型。对于数字类型的值,它会返回 `"number"`。 ```javascript function isNumber(value) { return typeof value === 'number' && !isNaN(value); } console.log(isNumber(123)); // true console.log(isNumber('123')); // false console.log(isNumber(NaN)); // false ``` 此方法通过结合 `!isNaN()` 来排除特殊情况中的 `NaN` 值[^1]。 --- #### 方法二:使用 `Number.isFinite()` `Number.isFinite()` 是 ES6 引入的一个静态方法,用于检查传入的参数是否是一个有限数值。如果该值不是数字或者无限大/小,则返回 `false`。 ```javascript function isNumberUsingIsFinite(value) { return Number.isFinite(value); } console.log(isNumberUsingIsFinite(Infinity)); // false console.log(isNumberUsingIsFinite(-Infinity)); // false console.log(isNumberUsingIsFinite(123)); // true console.log(isNumberUsingIsFinite('123')); // false ``` 这种方法更加严格,因为它不会将字符串形式的数字视为有效输入[^2]。 --- #### 方法三:使用正则表达式匹配 当需要处理可能被转换成数字的字符串时,可以借助正则表达式来进行更灵活的校验。 ```javascript function isValidNumericString(str) { const regex = /^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/; return regex.test(str); } console.log(isValidNumericString('123')); // true console.log(isValidNumericString('-123.45')); // true console.log(isValidNumericString('abc')); // false console.log(isValidNumericString('123a')); // false ``` 这种方式适用于场景中涉及用户输入的情况,比如表单验证[^3]。 --- #### 方法四:利用 Vue 的 Prop 类型检查机制 如果你正在开发基于 Vue.js 的项目,那么可以直接定义组件 Props 并指定其预期类型。例如,在子组件内部设置如下规则可防止非法数据传递给特定属性。 ```javascript props: { width: { type: Number, required: true } } ``` 一旦父级试图绑定错误类型的值到这个 prop 上就会触发警告消息,类似于之前提到的例子[^4]。 另外需要注意的是,默认情况下未初始化的状态可能会导致初始渲染阶段出现问题。因此建议始终提供默认值或采取预防措施以应对潜在延迟加载情形下的 null 或 undefined 输入[^5]。 --- ### 总结 以上介绍了四种不同的技术手段去确认某项内容是不是合法意义上的数字符号表示法。每种都有各自适用范围以及局限之处,请依据实际需求选取最合适的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值