繁体   English   中英

在javascript中遇到验证问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM