jQuery输入框自动将DOT添加为Currency格式并且只允许数字
jQuery input box automatically add DOT into Currency format and only allow numeric
我的输入框的条件是只允许输入数字。添加数字时自动添加 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)">
谁能指导我如何调用函数值。
我发现以下内容很有用,但 如何修改此功能以自动将点 添加到输入框值 以及仅允许数字的条件 .
function getNumberWithCommas(number) {
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
谢谢。
不确定您要做什么,但要在元素值上调用函数,您可以设置 onchange
属性,但如果您已经有一个处理 onchange
和想将它与此功能集成,请也添加到您的问题中,我会相应地修改我的答案。
function CurrencyFormat(el) {
let val = el.value.split('.').join('');
el.value = val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
<input type="text" class="form-control" name="number_one" id="number_one" onkeypress="CurrencyFormat(this)" >
检查以下片段演示。
$('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, ".")
;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input class="numberformat">
我的输入框的条件是只允许输入数字。添加数字时自动添加 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)">
谁能指导我如何调用函数值。
我发现以下内容很有用,但 如何修改此功能以自动将点 添加到输入框值 以及仅允许数字的条件 .
function getNumberWithCommas(number) {
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
谢谢。
不确定您要做什么,但要在元素值上调用函数,您可以设置 onchange
属性,但如果您已经有一个处理 onchange
和想将它与此功能集成,请也添加到您的问题中,我会相应地修改我的答案。
function CurrencyFormat(el) {
let val = el.value.split('.').join('');
el.value = val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
<input type="text" class="form-control" name="number_one" id="number_one" onkeypress="CurrencyFormat(this)" >
检查以下片段演示。
$('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, ".")
;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input class="numberformat">