javascript和测试数字[重复]

Posted

技术标签:

【中文标题】javascript和测试数字[重复]【英文标题】:javascript and test for number [duplicate] 【发布时间】:2013-01-07 20:38:00 【问题描述】:

可能重复:Is there a (built-in) way in javascript to check if a string is a valid number?

我在 riak map reduce 工作中使用 JS。我有一个要映射的数字,并且需要是一个数字。

如果我有一个变量:

 var wp=sfggz5341&& or var=100

if 怎么检测数字?

例如

if wp==Number:    
    OK 
else:    
    pass

【问题讨论】:

Is there a (built-in) way in JavaScript to check if a string is a valid number?, Check whether variable is number or string in javascript的可能重复 【参考方案1】:

您可以使用:if (!isNaN(+wp)) 进行测试。也就是说,将“可能是数字”转换为数字(使用+ 运算符。如果不能转换,则结果为NaN。所以!isNaN(...) 表示它是一个数字。

【讨论】:

【参考方案2】:

尝试使用isNaN()

如果值为 NaN,则此函数返回 true,否则返回 false。

【讨论】:

【参考方案3】:

您可以使用!NaN(wp) 来检查字符串是否为数字。

【讨论】:

【参考方案4】:

您可以使用isNaN()isNumeric()

isNumeric() 可以使用,但在以下情况下会失败:

// Whitespace strings:
IsNumeric(' ') == true;
IsNumeric('\t\t') == true;
IsNumeric('\n\r') == true;

// Number literals:
IsNumeric(-1) == false;
IsNumeric(0) == false;
IsNumeric(1.1) == false;
IsNumeric(8e5) == false;

所以最好的办法是:

function isNumber(n) 
  return !isNaN(parseFloat(n)) && isFinite(n);

参考:https://***.com/a/1830844/462627

【讨论】:

@sachleen 更新了答案...【参考方案5】:

您可以使用typeof 运算符(详见MDN):

var wp = "sfggz53141";
if (typeof wp === "number") 
    // number here
 else if (typeof wp === "string") 
    // string here

【讨论】:

如果wp'12345'typeof wp 仍然是'string' @KooiInc - 是的,因为'12345' 是一个字符串,而不是一个数字。 OP 询问它是否was 一个数字,而不是它是否可以转换成一个数字。

以上是关于javascript和测试数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript将UNIX TIMESTAMP转换为日期[重复]

从“GET”参数(JavaScript)中获取值[重复]

检查单选按钮是不是在javascript中被选中/未选中的函数[重复]

如何处理 javascript 中的 256 位数字并对它们执行按位运算?

Javascript - 正则表达式匹配任何数字,包括无穷大、负数和 e+/- 数字 [重复]

javascript中的数字和数字有什么区别? [重复]