我成功地限制了小数点后的3位数字,但当我将一些随机的小数点复制粘贴到文本字段中时,修复程序不起作用。
$('.min-val').on('keyup', function(e) {
$(this).val($(this).val().replace(/[^d.]/g, ''));
if ($(this).val().indexOf(".") > -1 && ($(this).val().split('.')[1].length > 3)) {
$(this).val($(this).val().substring(0, $(this).val().length - 1));
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" placeholder="min val" class="min-val" />
即使在复制粘贴数据时,我如何将小数位数限制为3?
您可以通过regex本身实现这一点。不过我不擅长
所以下面的工作围绕着工作。您可以确定要修剪的字符数并使用该数字var charsToTrim = $(this).val().split('.')[1].length - 3;
$('.min-val').on('keyup', function(e) {
$(this).val($(this).val().replace(/[^d.]/g, ''));
if ($(this).val().indexOf(".") > -1 && ($(this).val().split('.')[1].length > 3)) {
var charsToTrim = $(this).val().split('.')[1].length - 3;
$(this).val($(this).val().substring(0, $(this).val().length - charsToTrim));
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" placeholder="min val" class="min-val" />