【发布时间】:2016-02-02 10:30:26
【问题描述】:
如果值 >= 0,我应该验证输入表单测试。
我使用 jQuery 获取值并使用简单的 if 语句进行验证。像这样:
var value = $('#'+this.id).val();
console.log("value is " + value );
if(value >=0 ){
console.log("true");
}else{
console.log("false");
}
当用户使用逗号或点插入十进制数字时会出现问题。
如果用户插入 1.234 结果是 true 而如果插入 1,234 结果是 false
它们有什么区别?
我做了一个简单的 Fiddle 来更好地解释这个案例。
http://jsfiddle.net/zzm8zno5/4/
我还验证了值的类型;我尝试使用Number(value) 转换为数字,但没有任何变化
对不起我的问题,也许是微不足道的,但我不明白为什么会发生这种情况
【问题讨论】:
-
如果用户输入 1.234,55 或 1,234.55 会发生什么。简单地替换 (.) 会产生错误的结果(错误的数字)
标签: javascript jquery numbers