如何检查变量是数字,整数还是字符串数字?检查变量是否是数字
在PHP中我可以这样做:
if (is_int($var)) {
echo '$var is integer';
}
或者:
if (is_numeric($var)) {
echo '$var is numeric';
}
我该怎么办呢jQuery的/ JavaScript的?
如何检查变量是数字,整数还是字符串数字?检查变量是否是数字
在PHP中我可以这样做:
if (is_int($var)) {
echo '$var is integer';
}
或者:
if (is_numeric($var)) {
echo '$var is numeric';
}
我该怎么办呢jQuery的/ JavaScript的?
小心这个。 'isFinite(null)=== true' – 2013-09-04 22:58:57
isFinite(“100”)是真的,我们想知道一个对象是一个Number对象。从我的简短测试看起来像这里的解决方案(Object.prototype.toString.call(obj)===“[object Number]”)是最好的:http://stackoverflow.com/questions/1303646/check-shather -variable-is-number-or-string-in-javascript – Skychan 2015-08-24 19:59:32
也用空字符串返回true,我不会考虑“数字” – Balmipour 2017-04-01 23:15:27
JavaScript函数isNaN(variable)
应该做的伎俩。如果数据不是数字,它将返回true。
另请参阅http://www.javascripter.net/faq/numbervs.htm – 2009-08-29 22:52:26
这是一个很好的建议。 FWIW,这是有效的,因为字符串被隐式转换为数字 - 显式代码是:'isNaN(new Number(variable))'。请注意,如果您希望将代码限制为整数,'parseInt()'将返回'NaN'(可通过'isNaN()'测试)。请注意,'parseInt()'会很高兴地忽略字符串末尾的非数字数字。 – Shog9 2009-08-29 23:05:54
这将接受所有可以转换为数字的东西,包括布尔值和“无限”。更好地使用'isFinite(String(foo))' – Christoph 2009-08-30 10:43:37
function isNumber(input) {
return !isNaN(input);
}
isNumber({}) // false
isNumber('13') // true
isNumber(13) // true
isNumber('test') // false
使用“123a”进行测试会返回误报 - parseInt()调用将丢弃“a”,但不会更新该值,也不会更新源字段。 – 2009-08-29 22:54:17
字符串'13'不是一个数字! – 2014-07-11 12:23:34
function isNumeric($probe)
{
return parseFloat(String($probe)) == $probe;
}
我很新的JavaScript,但它似乎像typeof(blah)
让你检查是否是一个数字(它不对字符串说)。一个知道OP要求字符串+数字,但我认为这可能是值得为其他人记录。
如:
function isNumeric(something){
return typeof(something) === 'number';
}
这里有the docs
这里是一个什么样的typeof会产生一些控制台上运行:
typeof(12);
"number"
typeof(null);
"object"
typeof('12');
"string"
typeof(12.3225);
"number"
一个轻微的古怪我所知道的是
typeof(NaN);
"number"
但它不会是JavaScript没有这样的东西?!
你应该使用:
var x = 23;
var y = 34hhj;
isNaN(x);
isNaN(y);
它将返回true,如果它的字符串和虚假如果它的一个数字。
您应该使用
简单的方法来检查给定值是否是数字,通过使用“如果条件”
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
注意,空字符串''
和' '
将isNaN
和视为号码。
你应该使用:$.isNumeric(i)
我假设你正试图避免往返到您的服务器进行测试?这将是大脑死亡的简单方法;) – 2009-08-29 22:51:43