如何在用戶輸入數字時動態添加逗號?有沒有一個好的數字格式化程序可以幫助?我必須稍後添加這些數字,所以我最終必須刪除逗號。但屏幕需要顯示逗號以提高可讀性。用戶輸入數字時,jQuery可以添加逗號嗎?
回答
運行的代碼片段,看看它的工作
$('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">
你可以直接跳過不必在keyup函數中再次調用jQuery,只需在整個過程中使用它。然後將var num = $ this.val()。replace()更改爲this.value.replace(),並將$ this.val(num.replace())更改爲this.value = num.replace()。 – Bob 2010-04-13 20:45:35
@Bob,我很欣賞你的輸入,但是使用jQuery的方法代價是調用'$()'在jQuery社區中被廣泛接受。這是*爲什麼* jQuery首先提供了可用的方法。 – 2010-04-13 20:48:12
我只是在嘗試這段代碼,而在Chrome和FF中,它將逗號錯位1位。例如,「1234」 - >「1234」和「12345」 - >「1,2345」 – StoicLoofah 2013-02-25 17:43:37
這裏的香草JS @maček的答案的實現,如果你不想使用jQuery:
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">
i只能在這裏輸入4位數字,任何具體原因,因爲我會有更多的4位數字,謝謝 – 2017-07-19 06:50:37
- 1. 用戶輸入數字時,Vue.js可以添加逗號嗎?
- 2. 用逗號輸入數字jquery
- 3. 在輸入字段的號碼添加逗號,打字時
- 4. jquery驗證文字用逗號輸入
- 5. iPhone添加逗號輸入號碼字段是因爲JavaScript
- 6. 限制輸入以逗號分隔的形式輸入數字
- 7. 如何在用戶輸入文本字段時自動爲每3個數字添加逗號 - iOS Objective C
- 8. 爲輸出添加逗號數
- 9. 如何讓用戶輸入逗號
- 10. Jquery窗體 - 我可以添加輸入嗎?
- 11. jquery .find()方法 - 參數由逗號加入的逗號組成
- 12. 在文本框中輸入時添加逗號
- 13. scanf對用戶可以輸入的字節數有限制嗎?
- 14. 如何在輸入字段中逗號後僅允許輸入數字,逗號和兩個數字?
- 15. 打印用戶輸入的數字,逗號和之間的數字
- 16. 以四位或更多位數的數字添加逗號
- 17. 添加逗號,十進制數字輸出javascript
- 18. 打字時在數字中添加逗號
- 19. 如何在逗號中輸入逗號?
- 20. 當用戶輸入int和double時添加兩個數字
- 21. 如果我輸入數字100,000,000,如何在html中只添加逗號「,」?
- 22. 在jquery中用逗號分隔輸入文本字段
- 23. 從逗號分隔的數字導入逗號分開數字
- 24. 用逗號添加TextField Xcode
- 25. 如何向逗號中添加逗號?
- 26. 以逗號分割輸入行
- 27. 向此Jquery Countup添加逗號
- 28. 在jquery counter中添加逗號給numbers.js
- 29. 添加逗號時,插入符號向後移動
- 30. Javascript - 在輸入時自動替換一段逗號(輸入類型=「數字」)
那麼等待你想在每個數字後加上一個逗號?所以我輸入123456會變成1,2,3,4,5,6?或者你只是用逗號替換空格? – 2010-04-13 19:02:56
作爲macek的答案,他很可能想要添加數千個分隔符。 – 2010-04-13 19:26:11