我有一个表单验证,检查最小长度,工作正常。但是我还需要检查最大长度。
我正在使用以下代码作为名为“msg”的textarea字段来验证最小长度,这样可以正常工作:
var msgval = $("#msg").val();
var msglen = msgval.length;
if(msglen < 4) {
$("#msg").addClass("error");
}
else if(msglen >= 4){
$("#msg").removeClass("error");
}
这很好用,但如果我为msglen添加类似的验证&gt; 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");
}
如何组合这两个参数?
答案 0 :(得分:2)
使用逻辑OR运算符测试两个条件。
if (msglen < 4 || msglen > 250) {
$("#msg").addClass("error");
} else {
$("#msg").removeClass("error");
}
不需要else if
条件。如果它不小于4且不大于250,那么你知道你可以删除该类。
或者更短的版本可以这样写:
$("#msg").toggleClass("error", msglen < 4 || msglen > 250);
作为第二个参数传递的truthy值将添加该类。假名值将删除它。
答案 1 :(得分:1)
我会这样写:
var msgval = $("#msg").val(),
msglen = msgval.length,
notValid = msgval.length < 4 || msgval.length > 250;
$('#msg').toggleClass('error', notValid);
或者您始终可以将文本框的maxlength
属性设置为250
,然后您不必担心长度超过250个字符。 :)
答案 2 :(得分:0)
if(msglen < 4) {
$("#msg").addClass("error");
}
添加课程error
else if(msglen <= 250){
$("#msg").removeClass("error");
}
稍后删除几行..
为什么不试试这个。
if(msglen < 4 || msglen > 250) {
$("#msg").addClass("error");
}