我有一个表单验证,用于检查最小长度,可以正常工作。但是,我还需要检查最大长度。

我将以下代码用于一个名为“ msg”的文本区域,以验证最小长度,这很好用:

 var msgval    = $("#msg").val();
 var msglen    = msgval.length;

if(msglen < 4) {
$("#msg").addClass("error");
}
else if(msglen >= 4){
$("#msg").removeClass("error");
}


这可以正常工作,但是如果我为msglen> 250添加类似的验证,则在结构如下时它会忽略先前的最小长度要求:

if(msglen < 4) {
$("#msg").addClass("error");
}
else if(msglen >= 4){
$("#msg").removeClass("error");
}
if(msglen > 250) {
$("#msg").addClass("error");
}
else if(msglen <= 250){
$("#msg").removeClass("error");
}


如何将两个参数结合起来?

最佳答案

使用逻辑OR运算符测试两个条件。

if (msglen < 4 || msglen > 250) {
    $("#msg").addClass("error");
} else {
    $("#msg").removeClass("error");
}


不需要else if条件。如果它不小于4且不大于250,则您可以删除该类。



或更短的版本可以这样写:

$("#msg").toggleClass("error", msglen < 4 || msglen > 250);


作为第二个参数传递的真实值将添加该类。假值将删除它。

09-27 09:48