Javascript检查在可接受的范围内

时间:2017-09-21 02:09:37

标签: javascript numbers range decimal

我有一个范围高和范围低,我需要能够显示输入数字是否在可接受的范围内,或者是否高于或低于可接受的范围。

目前,我的javascript代码看起来像这样,但我不断收到消息说这是一个无效的条目。

它需要能够处理小数位,因为高和低基于用户偏好。

    var highRange = 17.80;
    var lowRange = 6.90;
    var valueToCheck = (rText.value);

    function checkRange() {
        var msg = 'Invalid entry';
        if ((valueToCheck > 0.00) && (valueToCheck <= lowRange)) { msg = 'LOW'; }
        if ((valueToCheck > lowRange) && (valueToCheck <= highRange)) { msg = 'NORMAL'; }
        if ((valueToCheck > highRange)) { msg = 'HIGH'; }
        rangeValue = msg;
    }

我只是不明白为什么它不起作用,哈哈。

非常感谢任何帮助: - )

2 个答案:

答案 0 :(得分:2)

试试这个。

&#13;
&#13;
    var highRange = 17.80;
    var lowRange = 6.90;
   

    function checkRange() {
       var valueToCheck = document.getElementById('rText').value;
        var msg = 'Invalid entry';
        if ((valueToCheck > 0.00) && (valueToCheck <= lowRange)) { msg = 'LOW'; }
        if ((valueToCheck > lowRange) && (valueToCheck <= highRange)) { msg = 'NORMAL'; }
        if ((valueToCheck > highRange)) { msg = 'HIGH'; }
        document.getElementById('rangeValue').innerHTML = msg;
    }
&#13;
<input type="text" id="rText" >
<input type="button" value="Validate" onclick="checkRange()">
<p id="rangeValue"></p>
&#13;
&#13;
&#13; 问题是你把valueToCheck放在函数外面。因此当页面加载时它已经获得了输入的空值。

valueToCheck必须在函数内部才能获得输入中的变化..

答案 1 :(得分:0)

使用parseFloat将字符串转换为浮点数 $("#carea").append(elem.css({ position: "relative", // `left` and `top` require a `position` other than `static` left: databaseX, // The pin's X coordinate in the database top: databaseY // The pin's Y coordinate in the database }));