Javascript 检查输入值是否为一个或另一个值

Javascript 检查输入值是否为一个或另一个值,javascript,php,jquery,Javascript,Php,Jquery,我有一个不起作用的代码 if( $.trim($('#v5121').val()).length<1 ) { $('#v5121').addClass('error'); $('#v5121').effect("shake", { times:1 }, 20); error++; } else { if (isNaN( $('#v5121').val() )) { $('#v5121').addClass('error');

我有一个不起作用的代码

if( $.trim($('#v5121').val()).length<1 ) {
    $('#v5121').addClass('error');
$('#v5121').effect("shake", { times:1 }, 20);
error++;
}
    else {
         if (isNaN( $('#v5121').val() )) {
            $('#v5121').addClass('error');
            $('#v5121').effect("shake", { times:1 }, 20);
            error++;
        } 
        else {
            if( parseFloat($('#v5121').val()) != 100 || parseFloat($('#v5121').val()) != 108 ) {
                $('#v5121').addClass('error');
                $('#v5121').effect("shake", { times:1 }, 20);
                error++;
            }
            else {
                $('#v5121').addClass('valid');
            }
        }
    }
我用

if( parseFloat($('#v5121').val()) != 100 )
在输入框中我加了100,它给了我一个有效的类和作品。如果我输入的不是100,它会给我一个错误。如果我使用

if( parseFloat($('#v5121').val()) != 108 )
如果我输入108以外的任何内容,我会给出一个错误,但输入108时不会

当我尝试检查值是100还是108时,无论输入什么值,它都会给出一个错误

if( parseFloat($('#v5121').val()) != 100 || parseFloat($('#v5121').val()) != 108 )
这永远是真的。如果输入不能为100或108,请使用AND(&&)而不是or(| |)。还可以考虑在检查之前设置变量的值。

var tempValue=parseFloat($('#v5121').val());
if(tempValue != 100 && tempValue != 108 )

如果您不介意我的建议,我建议您设置
var myInput=$(“#v5121”)在代码顶部,然后在任何地方使用该变量,而不是
$('#v5121')
。例如
myInput.addClass('error')。当jquery不必反复查找同一个元素时,代码将运行得更快。感谢diynevala,我们将考虑到这一点
var tempValue=parseFloat($('#v5121').val());
if(tempValue != 100 && tempValue != 108 )