includes() 怎么检索出是否含有数字 除了用正则表达式
时间: 2024-02-28 11:54:46 浏览: 152
当ES6遇上字符串和正则表达式
除了使用正则表达式外,你也可以使用 `isNaN()` 函数来判断一个字符串是否含有数字。`isNaN()` 函数用于检测一个值是否是 NaN,如果该值是 NaN,则返回 `true`,否则返回 `false`。当你将一个字符串作为参数传递给 `isNaN()` 函数时,它会尝试将该字符串转换为数字,并返回一个布尔值,指示该字符串是否可以转换为数字。
因此,你可以使用 `isNaN()` 函数来检测一个字符串是否含有数字,如下所示:
```javascript
const str = 'Hello, 123!';
const hasNumber = !isNaN(parseFloat(str)) && isFinite(str);
console.log(hasNumber); // true
```
在上面的代码中,`parseFloat()` 函数用于将 `str` 转换为一个浮点数,如果 `str` 不包含数字,则返回 `NaN`。因此,如果 `str` 包含数字,则 `parseFloat(str)` 的结果不等于 `NaN`。接着,`isNaN()` 函数会检测 `parseFloat(str)` 的结果是否为 `NaN`,如果不是,则返回 `false`,否则返回 `true`。最后,`isFinite()` 函数用于检测 `str` 是否是一个有限数,如果是,则返回 `true`,否则返回 `false`。在这个例子中,由于 `str` 包含数字,所以 `hasNumber` 的值为 `true`。
阅读全文