目前我正在使用这个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/