如何检查变量是数字,是整数还是字符串数?
在PHP中,我可以这样做:
if (is_int($var)) {
echo '$var is integer';
}
或者:
if (is_numeric($var)) {
echo '$var is numeric';
}
如何在jQuery / JavaScript中完成?
答案 0 :(得分:40)
javascript函数isNaN(variable)
应该可以解决问题。如果数据不是数字,则返回true。
答案 1 :(得分:25)
答案 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)
请注意,空字符''
和' '
将被isNaN
和isFinite
视为数字。
答案 9 :(得分:0)
您应该使用:$.isNumeric( i )