Skip to content

isNumberLike

是否为数字或数字字符串(如:123、"123"、"-45.67")

引入版本

0.15.0

Demo

ts
import { isNumberLike } from '@wyfex/iutils'

/**
 * ================== 正确情况 ==================
 */
console.log(isNumberLike(0)) // true
console.log(isNumberLike(123)) // true
console.log(isNumberLike(-45.67)) // true
console.log(isNumberLike(0.0001)) // true
console.log(isNumberLike(-0)) // true

console.log(isNumberLike('123')) // true
console.log(isNumberLike('-66')) // true
console.log(isNumberLike('99.99')) // true
console.log(isNumberLike('  789  ')) // true 首尾空格会trim
console.log(isNumberLike('.5')) // true
console.log(isNumberLike('100.')) // true

/**
 * ================== 错误情况 ==================
 */
console.log(isNumberLike('')) // false
console.log(isNumberLike('   ')) // false

console.log(isNumberLike('abc')) // false
console.log(isNumberLike('12a3')) // false
console.log(isNumberLike('1,000')) // false
console.log(isNumberLike('true')) // false

console.log(isNumberLike(NaN)) // false
console.log(isNumberLike(Infinity)) // false
console.log(isNumberLike(-Infinity)) // false

console.log(isNumberLike(null)) // false
console.log(isNumberLike(undefined)) // false
console.log(isNumberLike(true)) // false
console.log(isNumberLike(false)) // false
console.log(isNumberLike(123n)) // false
console.log(isNumberLike(Symbol())) // false

console.log(isNumberLike([])) // false
console.log(isNumberLike({})) // false
console.log(isNumberLike(new Date())) // false
console.log(isNumberLike(() => 1)) // false
console.log(isNumberLike(/\d+/)) // false

console.log(isNumberLike(new String('123'))) // false(isString只识别原始字符串)

基于 MIT 许可发布