Jquery检查值是否为数字

21

我在想是否有任何快速而简单的jquery方法可以检查值是数字还是非数字?我考虑使用正则表达式来检查该值,如果不是数字,则不提交表单。我一直在使用jquery验证,但是我在加载jquery验证时遇到了问题。

我只需要确保一个值是数字。


2
请参考其他类似的网站,例如https://dev59.com/7Gkw5IYBdhLWcg3wrsnn,查看JavaScript中是否有类似于isNumeric的函数来验证数字。 - glosrob
你不能简单地解析字符串,因为有时它会从非数字字符串返回一个数字 - 试试 console.log(parseInt("10px", 10)) - Reinstate Monica Cellio
1个回答

58
当然,使用jQuery的isNumeric()函数即可。
$.isNumeric("-10");  // true
$.isNumeric(16);     // true
$.isNumeric(0xFF);   // true
$.isNumeric("0xFF"); // true
$.isNumeric("8e5");  // true (exponential notation string)
$.isNumeric(3.1415); // true
$.isNumeric(+10);    // true
$.isNumeric(0144);   // true (octal integer literal)
$.isNumeric("");     // false
$.isNumeric({});     // false (empty object)
$.isNumeric(NaN);    // false
$.isNumeric(null);   // false
$.isNumeric(true);   // false
$.isNumeric(Infinity); // false
$.isNumeric(undefined); // false

2
有时会出现 TypeError: $.isNumeric 不是一个函数的错误,此时请使用 jquery.isNumeric() 函数。 - Pragnesh Rupapara
也出现了 TypeError 错误。 - AlxVallejo
+1 因为您在注释中写下了每个调用的结果,与 jQuery 网站文档进行了比较。 - Samuel
3
注意:$.isNumeric("1,234"); // false 意思是:$.isNumeric("1,234") 的返回值为 false,即判断字符串 "1,234" 不是一个数字。 - Vic
1
注意:此API已在jQuery 3.3中被弃用。 - be3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接