1

有一个简单的脚本可以很好地工作,但不能解释所有形式的 0 (0.0, 0.00..etc) 实现这一目标的最简单方法是什么?也许是 parseFloat?

if(value !== "0") {
 alert('No sir this cant be empty');
 return false;
}

如果他们在文本框中输入 0,它将返回 false。但是,如果他们输入 0.0,它将返回 true

4

5 回答 5

4

你可以使用parseFloat和比较0

if (parseFloat(value) !== 0) {
    // complain
}
于 2013-11-02T01:54:45.373 回答
1

是的,您可以 parseFloat 它,但您不需要在值周围使用引号。

value !== 0
于 2013-11-02T01:54:34.870 回答
1

先把它解析成一个实际的数字,类似这样:

value = parseFloat(value)

if( value === 0 ) return false;

你会想要调查parseInt()parseFloat()

于 2013-11-02T01:55:12.733 回答
0

我会使用parseInt, 似乎是最简单的:

if(parseInt(value, 10) != 0) {
 alert('No sir this cant be empty');
 return false;
}

但请确保在此之前value针对undefined,null和空字符串进行测试。

于 2013-11-02T02:04:10.917 回答
0

也许您可以尝试正则表达式匹配?

if (value.match(/^0(?:\.0+)?$/)) {
    alert("hey!");
}
于 2013-11-02T01:55:29.397 回答