我希望在与旧的VB6 IsNumeric()函数相同的概念空间中有什么东西?


当前回答

以下内容如何?

const a = '1'

const isNumber = (a) => Number(a) === +a

其他回答

这里有一个优雅的单行线来检查sNum是否是有效的数值。该代码也已针对各种输入进行了测试。

// returns True if sNum is a numeric value    
!!sNum && !isNaN(+sNum.replace(/\s|\$/g, ''));  

向@gman提示错误。

我是这样做的:

function isString(value)
{
    return value.length !== undefined;
}
function isNumber(value)
{
    return value.NaN !== undefined;
}

当然,如果您传递其他定义了“length”的对象,isString()将在这里出错。

这是一种检查变量是否不是数字的可能方法:

(isNaN(foo) || ((foo !== 0) && (!foo)))

这意味着foo是假的,但不同于0,或者isNaN(foo)是真的。

执行这种检查的另一种方法是

!isNaN(parseFloat(foo))

parseInt(),但要注意,这个函数有点不同,例如,它为parseInt返回100(“100px”)。

如果要查找正数(例如门牌号),请使用:

if (mystring > 0) ...