jQuery 输入框自动将 DOT 添加到 Currency 格式并且只允许数字

Vir*_*ral 5 jquery number-formatting

我有条件的输入框只允许数字。添加数字时会自动添加 DOT 作为货币格式,如下所示。

100 = 100
1000 = 1.000
10000 = 10.000
1000000 = 100.000
1000000 = 1.000.000


<input type="text" class="form-control" name="number_one" id="number_one" onkeypress="return event.charCode >= 48 && event.charCode <= 57" onkeyup="return CurrencyFormat(this.value)">
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我如何调用函数值。

我发现以下有用但如何修改此功能以自动将点添加到输入框值和条件中以仅允许数字

function getNumberWithCommas(number) {
    return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
Run Code Online (Sandbox Code Playgroud)

谢谢你。

Vir*_*ral 5

检查以下片段演示。

$('input.numberformat').keyup(function(event) {

  // skip for arrow keys
  if(event.which >= 37 && event.which <= 40) return;

  // format number
  $(this).val(function(index, value) {
    return value
    .replace(/\D/g, "")
    .replace(/\B(?=(\d{3})+(?!\d))/g, ".")
    ;
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input class="numberformat">
Run Code Online (Sandbox Code Playgroud)