检查变量是否为数字

时间:2009-08-29 22:48:27

标签: javascript jquery

如何检查变量是数字,是整数还是字符串数?

在PHP中,我可以这样做:

if (is_int($var)) {
    echo '$var is integer';
}

或者:

if (is_numeric($var)) {
    echo '$var is numeric';
}

如何在jQuery / JavaScript中完成?

10 个答案:

答案 0 :(得分:40)

javascript函数isNaN(variable)应该可以解决问题。如果数据不是数字,则返回true。

答案 1 :(得分:25)

我会去

isFinite(String(foo))

请参阅this answer了解原因。如果您只想接受整数值look here

答案 2 :(得分:5)

我对javascript很新,但似乎typeof(blah)可以让你检查某些内容是否是一个数字(对于字符串它并不是真的)。知道OP要求字符串+数字,但我认为这可能值得为其他人记录。

例如:

function isNumeric(something){
    return typeof(something) === 'number';
}

以下是the docs

这里有几种类型的控制台运行:

typeof(12);
"number"
typeof(null);
"object"
typeof('12');
"string"
typeof(12.3225);
"number"  

我知道的一个轻微的怪异是

typeof(NaN);
"number"

但没有像这样的东西它不会是javascript吗?!

答案 3 :(得分:1)

请参阅isNan

编辑:请看看Christoph上面提到的内容。按照建议使用isFinite是有意义的。

答案 4 :(得分:1)

function isNumeric( $probe )
{
    return parseFloat( String( $probe ) ) == $probe;
}

答案 5 :(得分:1)

您应该使用:

var x = 23;
var y = 34hhj;

isNaN(x); 
isNaN(y); 

如果是字符串,它将返回true,如果是数字,则返回false。

答案 6 :(得分:1)

您应该使用:

if(Number.isInteger(variable))
   alert("It is an integer");
else
   alert("It is not a integer");

你可以在以下网址找到参考: Number.isInteger()

答案 7 :(得分:0)

你应该使用

使用“if condition”检查给定值是否为数字的简单方法

function isInteger(value)      
{       
    num=value.trim();         
    return !(value.match(/\s/g)||num==""||isNaN(num)||(typeof(value)=='number');        
}

如果我们传递的值是整数,它将返回true。

solved for     
value=""      //false null     
value="12"    //true only integers       
value="a"     //false     
value=" 12"   //false      
value="12 "   //false         
value=" "     //false space        
value="$12"   //false special characters 
value="as12"    //false

答案 8 :(得分:0)

请注意,空字符''' '将被isNaNisFinite视为数字。

答案 9 :(得分:0)

您应该使用:$.isNumeric( i )

jQuery.isNumeric API