当用户输入数字时,我如何动态添加逗号?是否有一个很好的格式化程序可以帮助?我必须稍后添加这些数字,所以我最终必须删除逗号。但屏幕需要显示逗号以提高可读性。
答案 0 :(得分:82)
运行代码段以查看其是否有效
$('input.number').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="number">
答案 1 :(得分:1)
如果您不想使用jQuery,这是@maček在vanilla JS中的答案的实现:
var el = document.querySelector('input.number');
el.addEventListener('keyup', function (event) {
if (event.which >= 37 && event.which <= 40) return;
this.value = this.value.replace(/\D/g, '')
.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
});
<input class="number">
答案 2 :(得分:0)
<script>
function costt() {
var costs = document.getElementById('cost').value;
if(costs != '') {
// alert("ok");
cost.value = cost.value.replace(/\D/g, '').replace(/\B(?=(\d{3})+(?!\d))/g, ',');
} else {
// alert("lol");
cost.value= 0;
}
}
</script>