js怎么判断输入的值是不是数字
时间: 2024-10-08 17:02:18 浏览: 28
JavaScript判断输入是否为数字类型的方法总结
5星 · 资源好评率100%
在JavaScript中,你可以使用多种方法来检查输入是否为数字。这里列举几种常见的方法:
1. **`isNaN()`函数**:
使用 `isNaN(value)` 函数可以检测一个值是否被认为是“非数字”。如果值是数字,则返回 `false`;如果是其他非数字类型,包括空字符串、null、undefined、布尔值等,会返回 `true`。但是请注意,这个函数对 `0` 和 `""` 也会返回 `true`,所以最好加上额外的检查。
```javascript
function isNumber(val) {
return !isNaN(val) && Number.isFinite(val);
}
```
2. **正则表达式**:
可以使用正则表达式匹配数值字符串,排除非数字字符。
```javascript
function isNumberRegex(val) {
return /^\d+(\.\d+)?$/.test(val);
}
```
3. **`typeof`操作符**:
虽然`typeof`返回的是"number"对于数字,但它无法区分整数和浮点数。因此,结合`isNaN()`更安全。
```javascript
function isNumberType(val) {
return typeof val === 'number' && !isNaN(val);
}
```
4. **`Number.isNaN()`和`Number.isInteger()`**:
如果你想确认一个值是整数还是浮点数,可以用`isInteger()`,而`isNaN()`用于检查是否为数字但不确定其类型。
```javascript
function isNumberSafe(val) {
return Number.isNaN(val) ? false : typeof val === 'number';
}
```
阅读全文