Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript将0验证为一个数字_Javascript_Input_Verification_Verify - Fatal编程技术网

javascript将0验证为一个数字

javascript将0验证为一个数字,javascript,input,verification,verify,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(); re

我无法将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;
}
函数verifyIt(){

if((Number(document.form1.baseline___115.value))&&document.form1.baseline__115.value>=0&&document.form1.baseline___115.value
0==false
在javascript中计算为
true
,这就是为什么您的if子句每次计算为
false

您似乎想验证是否定义了
编号(document.form1.baseline\u 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))

在javascript中,由于的概念,
0==false
计算结果为
true
。这就是if子句每次计算结果为
false
的原因

您似乎想验证是否定义了
编号(document.form1.baseline\u 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))

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

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


这是因为如果您将非数字的内容发送到
number()
,您将得到NaN

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

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


这是因为如果您将非数字的内容发送到
number()
,则会得到NaN

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

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

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

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

使用
==
检查
null
也包括
未定义的
,因此您不需要第二次比较。谢谢,我使用了!isNaN(Number(document.form1.baseline_du_115.value))太好了!如果您发现答案对您有效,请确保将答案标记为“已接受”:)如果您使用isNaN()Number()是useless@stinkycheeseman:虽然
0==false
的计算结果为
true
,但这完全不是因为“真实性”的概念。该
==
永远不会对其操作数进行ToBoolean计算。它使用,在本例中,这恰好产生相同的结果,但并非在所有情况下都是如此。使用
=
检查
null
也包括
未定义的
,因此不需要进行第二次比较。谢谢,我使用了!isNaN(数字(document.form1.baseline_du_115.value)太好了!如果您发现答案对您有效,请确保将答案标记为“已接受”:)如果您使用isNaN()则数字()为useless@stinkycheeseman:虽然
0==false
的计算结果为
true
,但这完全不是因为“真实性”的概念.The
==
永远不会对其操作数进行ToBoolean求值。它使用,在本例中,这恰好会产生相同的结果,但并非在所有情况下都是如此。您实际上可以去掉
Number()
部分,然后进行比较。
如果(document.form1.baseline\u du\u 115.value>=0&&document.form1.baseline\u du\u 115.value您实际上可以去掉
Number()
部分,只做比较。
if(document.form1.baseline\u du\u 115.value>=0&&document.form1.baseline\u du\u 115.value