0

我正在尝试从单个函数验证和格式化货币值。它也对空值发出警报。谁能帮我找到更好的解决方案?

$('.currency').blur(function() {
var formatted = parseFloat($(this).val());
if(formatted) {
formatted = formatted.toFixed(2);
$(this).val(formatted);
}else{
if(formatted != "") {alert('Invalid Amount....!!!');} }
});
4

1 回答 1

1
var formatted = parseFloat($(this).val());

如果输入值为空,将设置formatted为。NaN然后,您formattedif声明中进行测试。NaN是“false-y”,这意味着您将获得alert.

如果为空值,您想做什么?如果你想忽略它,把它当作0:

var value = $(this).val();
value = (value.trim() === "" ? "0" : value);

您可能还想检查是否formattedNaN

if(!isNaN(formatted)) {
    //valid value
} else {
    //invalid value
}
于 2013-10-01T22:49:34.033 回答