检查数字是否在2个值之间

时间:2019-04-28 15:51:28

标签: javascript

我正在使用下面的代码检查值是否超出设置范围(例如,不在1到300之间)。

当我尝试在范围限制下测试数字时,我的公式看起来可以工作,例如... 0触发if语句,1不触发if语句,300不触发if语句,301触发if语句

但是,当我尝试数字4、5、6、7、8、9时,也会触发if语句,但我不明白为什么。

当我尝试使用1-3和10 +中的随机数时,if语句不会像我期望的那样被触发。

 var minNumber = 1
 var maxNumber = 300

 if(minNumber > numberValue || maxNumber < numberValue){     
      notValid = true;
      var errorText = "Number out of range, please enter a number between 
      " + minNumber + " and " + maxNumber + ".";
      showErrorMessage(formElement, errorText);
 }

1 个答案:

答案 0 :(得分:3)

根据您的if条件块,您希望条件在numbervalue不在1到300之间时起作用,因此您必须像下面这样稍微更改条件...

  

!(minNumber> numberValue && maxNumber <   numberValue)//更改

这样您的代码就变成这样...

if(!(minNumber > numberValue && maxNumber < numberValue)){     
  notValid = true;
  var errorText = "Number out of range, please enter a number between 
  " + minNumber + " and " + maxNumber + ".";
  showErrorMessage(formElement, errorText);
}