javascript验证0为数字

时间:2013-07-10 15:54:10

标签: javascript input verification verify

我无法在输入字段中将0验证为可选择的“数字”,目前0不计入验证。

function verifyIt(){
if((Number(document.form1.baseline_du_115.value)) && document.form1.baseline_du_115.value>=0 && document.form1.baseline_du_115.value<=99){
    document.form1.submit();
    return true;
}else{
    alert("How many times per month do you drink more than 3-4 drinks on a single occasion?");
    return false;
}

} 有人告诉我,我应该确保在if语句中,我需要使== 0一个可选择的输入。 我需要0才能抛出其他

3 个答案:

答案 0 :(得分:2)

由于truthiness的概念,

0 == false在javascript中评估为true。这就是你的if子句每次评估为false的原因。

您似乎要验证是否已定义Number(document.form1.baseline_du_115.value)。以下是您可以编写的一些方法:

document.form1.baseline_du_115.value != null
document.form1.baseline_du_115.value !== undefined
!isNaN(Number(document.form1.baseline_du_115.value))

答案 1 :(得分:1)

这里发生的是Number(0)转换为0,转换为false。如果您只想检查它是否为数字,请替换

(Number(document.form1.baseline_du_115.value))

!isNaN((Number(document.form1.baseline_du_115.value)))

这是有效的,因为如果您向Number()发送不是数字的内容,您将获得NaN

答案 2 :(得分:0)

如果值为0,Javascript会将此转换为false。因此,每次使If语句都为Else

(Number(document.form1.baseline_du_115.value))