是否可以检查哪一个是数字,例如
abc或123没有投射?
显然,我们的眼睛abc不是数字。但我使用了Lodash的_.isNumber(123)
它返回false
,因为我没有将123的字符串转换为整数。
答案 0 :(得分:1)
使用Lodash中的_.isNaN
或JavaScript isNaN
。
_.isNaN(Number("123")) // false
_.isNaN(Number("asds")) // true
答案 1 :(得分:0)
您可以使用
检查它是否是有效号码数字(123) - >会给你一个有效的号码 号(" ABC") - >会回报你NaN
一元运营商也可以实现同样的目标 +123 - >会给你123(因为它是有效的nymber) +" abc" - >将是NaN(不是有效数字)
检查此代码段
var number1=123
console.log(Number(number1))
var number2="abc"
console.log(Number(number2))

答案 2 :(得分:0)
以为我会告诉你你的选择:
如果没有施法,我没有理由这样做。但是,有可能:
function isNumeric(str) {
return /^\d+$/.test(str)
}
isNumeric('123') // true
isNumeric('abc') // false
此正则表达式只检查字符串中的每个字符是否为数字。所以这很好,但通常你会试图避免使用正则表达式。所以投下它,正如其他答案所做的那样:
function isNumeric(str) {
return !isNaN(Number(str))
}
或者简单地说:
return !isNaN(+str)
或者,如果您不想考虑空字符串(''
)数字,只需将强制转换强制转换为布尔值,而不是执行isNaN()
检查:
return Boolean(+str)
或者简单地说:
return !!+str
与JavaScript一样,boolean强制转换是可选的,具体取决于您打算如何在其余代码中使用结果。所以我们真的可以做到:
return +str
如果您希望将以数字开头的字符串视为数字,也可以使用parseInt()
。