【发布时间】:2021-01-02 14:23:21
【问题描述】:
我有这一行代码:
if ($val === "" || ($val.split(".")[1] || "").length > 2)
感谢这里好心人的帮助。但是这行代码会计算小数点后 2 位以上的数字,即使数字都是零。
问题在于人们可以添加 2.00,这很好,但不能添加 2.000,它是相同的数字。所以我想再添加一个||允许人们添加多个零小数位的语句。
整个代码是这样的:
$(document).ready(function() {
$("#submitCalculation").click(function() {
$(".checkLength").each(function() {
$val = $(this).val();
if ($val === "" || ($val.split(".")[1] || "").length > 2) {
$(this).popover({
html: true,
placement: "bottom",
content: '<textarea class="popover-textarea"></textarea>',
template: '<div class="popover"><div class="arrow"></div>'+
'<div class="row"><div class="col-3 my-auto"><i class="fas fa-exclamation-triangle" id="invalid-input7">'+
'</i></div><div class="popover-content col-9">Enter a value between 2 and 50 m with up to 2 decimal places.'+
'</div></div>'
});
$(this).popover("show");
$(this).click( function() {
$(this).popover("hide");
});
}
})
})
})
它检查输入的数字是否有效,如果该字段为空白,弹出框会告诉他们并且脚本会停在那里。如果该字段的小数位太多,poppver 会告诉他们,脚本会停在那里。但是,现在的问题在于人们可以添加多个零小数位,脚本不会停止,但弹出框仍然会弹出。
期待您的帮助,这件事困扰了我一段时间。
【问题讨论】:
-
将输入解析为浮点数,然后将其转换回字符串。这将删除尾随零。
-
你能告诉我这句话是怎么做的吗,我明白你的意思,但我不知道怎么做。
-
而且我也不想夺走小数点后 2 位的机会,只有当小数点有非零且位数超过 2 时。
标签: javascript jquery validation input