我正在輸入框中輸入逗號作爲千分隔符(印度貨幣樣式),同時輸入。它工作正常。但是當我按下退格鍵時會插入不必要的逗號,逗號也不會重新排列。當我按回空格時,逗號插入輸入框,並且數字未根據需要進行格式化
例如:當我輸入1111111我得到結果11,11,111,但是當我按下退格鍵並使它11,11,11不調整。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$('input.number').keyup(function(event) {
// skip for arrow keys
if(event.which >= 37 && event.which <= 40) return;
// format number
$(this).val(function(index, value) {
var x=value;
x=x.toString();
var lastThree = x.substring(x.length-3);
var otherNumbers = x.substring(0,x.length-3);
if(otherNumbers != '')
lastThree = ',' + lastThree;
var res = otherNumbers.replace(/\D/g, "").replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
return res;
//document.getElementById("textInput").value=res;
//return value.replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
});
});
</script>
<input class="number" style="width:140px; height:40px; outline: 0;" >
您可能需要格式化您的代碼一點,你不覺得嗎? – dfsq
我明白了,對不起,我需要重新解釋這個問題,當我按下退格鍵時,例如:當我輸入1111111時,我得到結果11,11,111,但是當我按下退格鍵並使它11,11,11不調整時。 ,@dfsq – user3281028