如果变量值是,我想显示“有效”消息
- 不是长度为 10 的数字
- 一个空字符串 (
""
)
if(isNaN(num) && num !="" && num.length!=10)
{
alert("invalid");
}
else
{
alert("valid");
}
但是此代码显示“长度不是 10 的数字”是有效的。但是无论是数字还是非数字,如果它的长度不是10就应该是无效的。
如果变量值是,我想显示“有效”消息
""
)
if(isNaN(num) && num !="" && num.length!=10)
{
alert("invalid");
}
else
{
alert("valid");
}
但是此代码显示“长度不是 10 的数字”是有效的。但是无论是数字还是非数字,如果它的长度不是10就应该是无效的。
您的条件放置在这里是错误的。
isNaN(num) && num !=""
here, for num=1234,isNaN is false(that means it is number), but the num!="" will give true resulting in Invalid alert.
解决方案
替换&&
为||
条件OR
。
你是不是这个意思:
if(is_nan(num) && num !="" && num.length<10)
{
alert("invalid");
}
else
{
alert("valid");
}
否则,如果 length 为<9
or >10
,您将得到false。
valid
在这种情况下,当您的num是长度 >= 10 的非数字、非空字符串时,您会发出警报。