[英]having issues with validation in javascript
我正在制定旅行社计划。 例如,我在设定可以购买旅行的人数的限制方面遇到了麻烦。 我在文本字段中输入的数字只能为正数且大于0,否则将显示消息“已禁用”以及错误消息。 如果数字为正,则消息将显示为“已启用”,我将继续进行下去。 这是一个愚蠢的问题,但是我对javascript很陌生,我将不胜感激。 我将在下面保留代码。
var enabled = false;
function validation(limit) {
limit = parseInt($("#limit").val());
if (!/\d/.test(limit)) {
$("#enablemessage").show();
$("#message").show();
document.getElementById("message").style.color = "red";
document.getElementById("enablemessage").innerHTML =
"Disabled";
document.getElementById("enablemessage").style.color = "red";
$("#message").html("The value is not a number");
} else if (limit == null || limit < 1) {
$("#enablemessage").show();
$("#message").show();
document.getElementById("enablemessage").innerHTML =
"Disabled";
document.getElementById("enablemessage").style.color = "red";
$("#message").html("The value must be greater than 1");
} else if (limit >= 1) {
enabled = true;
}
if (enabled) {
$("#enablemessage").show();
$("#message").show();
document.getElementById("message").style.color = "green";
document.getElementById("enablemessage").innerHTML = "Enabled";
document.getElementById("enablemessage").style.color = "blue";
$("#message").html("The value is correct " + limit);
} else if (enabled == false) {
$("#enablemessage").show();
document.getElementById("enablemessage").innerHTML =
"Disabled";
document.getElementById("enablemessage").style.color = "red";
}
}
函数parseInt
返回一个数字或标志NaN
。 这意味着第一个( if
永不返回)为true。 您可以将其更改为例如: if(isNaN(limit))
。
要设置一个固定的上限,只需对其进行测试,例如: if(limit > 8)
,如果limit
的数字大于8,请执行某些操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.