如何在jQuery中删除nan

时间:2019-07-10 07:39:59

标签: javascript jquery numbers nan

我输入的数字字段格式为20,000.00

如果用户不输入第一个字段,如何删除Nan?

document.getElementById("BasicSalary_x").onblur =function (){    
    this.value = parseFloat(this.value.replace(/,/g, ""))
                    .toFixed(2)
                    .toString()
                    .replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    
     
    
}

 function isNumberKey(evt) {
    var charCode = ((evt.which) ? evt.which : event.keyCode);
    return !(charCode > 31 && (charCode != 46 && charCode != 44 && (charCode < 48 || charCode > 57)));

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="tel"  onkeypress="return isNumberKey(event)" id="BasicSalary_x" placeholder="Basic Salary (RM)"   >


<input type="tel" value="0.00" onkeypress="return isNumberKey(event)" id="deduction" placeholder="Deduction (RM)"   >

1 个答案:

答案 0 :(得分:3)

如果您将NaNparseFloat一起使用,则可以使用||0将其转换为零(或您喜欢的任何默认值)。

parseFloat("x,xx".replace(/,/g, "")) || 0

或者,您可以使用isNaN

检查它是否为数字
var val = this.value.replace(/,/g, "");
if (isNaN(val)) {
    alert("Please only enter valid values.");
} else {
    ... parseFloat(val) ...
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN