繁体   English   中英

防止先按NaN两次

[英]Prevent NaN from being pressed first or twice

我正在用JavaScript构建计算器,并且希望防止用户按下NaN(如除法,加号等,即仅先按一个数字),并防止两次按下Nan,例如,不允许两次按下除法。 我该怎么做呢?

这是我的代码:

var result = ""; //must be a string so it concatenates rather than adds

function calc(digit){

    if (digit == "ans"){
        var prevResult = result;
        result = prevResult;
        $("#resultBox").append("Ans");
    }
    else if (digit == "sum"){
        $("#resultBox").val(eval(result));
    }
    else if (digit == "clear"){
        location.reload();
    }
    else{
      result += digit; 
      $("#resultBox").val(result);  
    }
}

这是HTML中一些按钮的示例:

<button class="large" type="button" value="divide"onclick=calc("/")>/</button>

<button class="small" type="button" value="1" onclick=calc(1)>1</button>

首先将其他部分更改为

else if (digit == "sum"){
    if ( result.length > 0 )
    {
        $("#resultBox").val(eval(result));
    }
}

同样,对于除法和加法,请检查最后一个字符是否为数字

if ( result.length > 0 && !isNaN(result.slice(-1) )
{
   result += digit; 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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