javascript将0验证为一个数字
我无法将0作为输入字段中的可选“数字”进行验证,目前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
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.value0==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