很简单,如果用户输入的数字不是6或9,他就会收到错误:
console.log($(this).val().charAt(0));
if($(this).val().charAt(0) != 6 || $(this).val().charAt(0) != 9){
x=false;
}else {
x=true;
}
Console.log正确显示第一个字符..表示该值存在..
但无论我输入6或7还是9,我总会弄错......为什么?
答案 0 :(得分:3)
无论somevar
的价值是什么,
somevar!=6 OR somevar!=9
总是如此。
这里最好的解决方案可能是正则表达式:
var x = /^[69]/.test($(this).val());
答案 1 :(得分:2)
您需要反转逻辑条件,因为两个状态不可能同时为真,因此x
始终设置为false
。试试这个:
var chr = $(this).val().charAt(0);
if (chr == '6' || chr == '9') {
x = true;
} else {
x = false;
}
从那里你可以看到你甚至不需要if
条件,因为你可以直接设置x
,如下所示:
var chr = $(this).val().charAt(0);
var x = chr == '6' || chr == '9';