检查数字是否在范围内或超出范围

时间:2016-11-17 09:45:07

标签: javascript

我有一个来自服务器的范围编号,如下所示。

var max = 50;
var min = 25;
var uservalue = document.getElementById("userinput").value;// 35

用户在输入框中输入值,我需要比较输入的值是在范围内还是在范围之上。 我编写了如下代码,但没有工作。

if(uservalue<min || uservalue>max ){
alert("Error");
}else if (uservalue>min && uservalue<max)
alert("success");

建议的条件是,用户输入的值是在范围内还是在范围之外 编辑:用户在范围内外输入值,我正在寻找条件将用户输入值的按钮状态更改为黄色,红色,绿色。现在它总是变得超出范围并达到第一个条件

6 个答案:

答案 0 :(得分:2)

您正在以字符串形式读取uservalue,您需要将其转换为int:

uservalue = parseInt(uservalue)

此外,这应该足够了:

if(uservalue < min || uservalue > max ){
   alert("Error");
}
else {
   alert("success");
}

答案 1 :(得分:1)

.value将是一个字符串值,而不是整数。 JavaScript的类型强制是......复杂的,所以你最好用parseIntisNaN进行显式整数转换:

var max = 50;
var min = 25;
var userValueStr = document.getElementById('userInput').value;
var userValueNum = parseInt( userValueStr );
if( !isNaN( userValueNum ) ) {

    if( min <= userValueNum && userValueNum < max ) {

        alert("Success");
    }
    else {

        alert("Outside of range");
    }
}
else {

    alert("Value was not a number.");
}

答案 2 :(得分:1)

我会把它颠倒过来

if(uservalue>=min && uservalue<=max ){
    alert("In range");
}else if (uservalue>min){
    alert("Too high");
}else alert("Too low:);
alert("success");

答案 3 :(得分:1)

if(uservalue < min || uservalue > max ){
   alert("Error");
}
else {
   alert("success");
}

这必须有效。

答案 4 :(得分:1)

使用:

var uservalue = parseInt(document.getElementById("userinput").value);

if(+uservalue<min || +uservalue>max ){
    ...
}else if (+uservalue>min && +uservalue<max){
    ...
}

答案 5 :(得分:0)

如果输入type="text"parseInt()

一起使用

function check(){
var uservalue = parseInt(document.getElementById("userinput").value);
var max = 50;
var min = 25;
if (uservalue>min && uservalue<max){
console.log("success");
}else 
  {
    console.log("Error");

  }
}
<input type="text" id="userinput" onchange="check()">
click me..!