gpt4 book ai didi

javascript - 允许html输入框只能输入一个完整的数字并且恰好是小数点0.5

转载 作者:行者123 更新时间:2023-12-02 13:58:35 27 4
gpt4 key购买 nike

我正在制作一个网络应用程序,要求用户输入小数点后一位数字。我限制用户使用此 javascript 代码输入其他编号的字符

html

<input type="number" name='days' class="w3-input w3-padding-tiny" id="cntday"  onkeypress="return isNumberKey(event)" placeholder="Enter days"/>

JavaScript

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

但该功能仅阻止用户输入数字以外的字符。我需要防止用户输入超过一位小数,并且输入的小数应为 0.5

是这样的

  • 如果用户输入 5.55,则应替换为 5.5 或阻止用户输入额外的小数

  • 如果用户输入 5.2 或任何小数,则应将其替换为 5.5,换句话说,用户只能输入小数为 0.5 的数字

如何使用当前的 onkeypress 函数实现此目的?

这不是其他问题的重复。停止标记此内容

最佳答案

您可以通过将数字分成两部分来实现:

自然数第 1 部分

第 2 部分 用于十进制数。

然后您可以将任何输入的十进制数字替换为.5

类似这样的事情:

$('input').keyup(function() {
var value = this.value;
var pos = value.indexOf(".");
var result;
if (pos !== -1) {
var part1 = value.substr(0, pos);
var part2 = value.substr(pos);
result = part1 + part2.replace(part2,".5")
$('input').val(result);
}
});

function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31 &&
(charCode < 48 || charCode > 57))
return false;
return true;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" name='days' class="w3-input w3-padding-tiny" id="cntday" onkeypress="return isNumberKey(event)" placeholder="Enter days"/>

关于javascript - 允许html输入框只能输入一个完整的数字并且恰好是小数点0.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40543886/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com