【发布时间】:2012-06-26 14:16:15
【问题描述】:
我需要验证文本框条目。如果用户在绑定期间在此字段中输入字符,它应该只允许整数,因为实体框架会失败。
问题来了:
当用户在此字段中输入 10-d 时,parseFloat 返回 true,因为它将 10 作为数字并忽略其余值。虽然 IMO 它应该抛出 NAN 错误,因为输入文本无法转换为浮点数。
请查看以下示例,您可以使用它。 http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_parsefloat
我感兴趣的是在上面的示例中获得 40 年的 NAN 输入。
document.write(parseFloat("40 years") + "<br />");
如果我需要进行更多验证,请告诉我。
【问题讨论】:
-
使用
$.isNumeric('10-d');或$.isNumeric('10 years')都将返回false。 -
如果你想要整数,试试
parseInt("string",10)。第二个参数是基数,它告诉它使用什么数字基数。在这种情况下,以 10 为基数。 -
实际上
parseFloat('10-d')返回10而不是true。访问es5.github.com/#x15.1.2.3 了解parseFloat()的工作原理。
标签: javascript jquery parsefloat