変数値が
- 長さが 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
またはの場合、 false>10
が返されます。
この場合valid
、numが長さ >= 10 の数値以外の nun-empty 文字列である場合にアラートが表示されます。