javascript - 如何在 javascript 中验证数字(包括 float )

标签 javascript regex

目前我正在使用这个reg exp:

var valid = (value.match(/^\d+$/));

但是对于像“0.40”或“2.43”这样的数字,这不起作用。如何更改上面的 reg exp 以匹配 float ?

最佳答案

您不需要正则表达式! isNaN将把你的值转换为Number:

var valid = !isNaN(value);

例如:

!isNaN('0'); // true
!isNaN('34.56'); // true
!isNaN('.34'); // true
!isNaN('-34'); // true
!isNaN('foo'); // false
!isNaN('08'); // true

不情愿的编辑(感谢 CMS):

破坏类型强制转换,!isNaN('')!isNaN(' ')!isNaN('\n\t') code> 等都是 true!

空白测试 + isNaN FTW:

var valid = !/^\s*$/.test(value) && !isNaN(value);

恶心。

关于javascript - 如何在 javascript 中验证数字(包括 float ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830534/

相关文章:

ruby - 找一些句子

javascript - 从 Asp.Net CodeBehind 调用 JavaScript(不是函数)

Javascript - string.split(regex) 保留分隔符

c# - 正则表达式如何匹配字符串末尾的下划线?

c# - 如何使用这种格式验证美国货币 $123.45

regex - HTML解析器如何工作?

java - 如何根据多个分隔符 split() 字符串?

对象方法的Javascript替换

javascript - jqGrid - 绑定(bind)键更改箭头和 Tab 键行为

javascript - 有用于 javascript 的 log4net 吗?