jquery 按键时替换字符

jquery replace character when keypress

我正在搜索以使用默认值 0.00 进行输入

当你尝试写一个数字,比如 6,在输入中出现 0.06 接下来的 62,出现 0.62 ... 第一位数字后最多 3 位数字以点分隔 ...

我在 Phone IMEI 检查中看到类似的内容,但我不记得在哪里... 13 位数字 0,当你写一个数字时,它会用新数字替换最后一个数字

我不知道如何搜索这样的东西...

谢谢,如果这是一个愚蠢的问题,我们深表歉意。

斯蒂芬

希望这能解决您的问题。我在 keyup 事件上使用 event.key 来确定按下了哪个键,然后处理输入数据显示结果。

var result = 0;
$(document).ready(function() {
  $("input").keyup(function(event) {
    var k = event.key;
    if (!isNaN(k)) { //check if input is a number
      if((parseFloat(result)) < 1) { //condition to keep result in maximum of 3 digit
        result = parseFloat(result*1000) + parseFloat(k);
        result /= 100;
        result = result.toFixed(2); //Convert into a string, keeping only two decimals
        $("input").val(result);
      } else {
        $("input").val(result);
      }
    } else if (k == "Backspace" || k == "Delete") { //check if backspace or delete is pressed
      result = 0;
      $("input").val("0.00");
    } else { //check if any non-numeric key pressed
      $("input").val(parseFloat(result).toFixed(2));// assures that always shows formatted result
    }
  });
});
<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
  Enter number:
  <input type="text" placeholder="0.00" autofocus>
</body>
</html>

您可以使用keydown函数 https://jsfiddle.net/moongod101/4s8npyhy/