如何在用戶輸入數字時動態添加逗號?有沒有一個好的數字格式化程序可以幫助?我必須稍後添加這些數字,所以我最終必須刪除逗號。但屏幕需要顯示逗號以提高可讀性。用戶輸入數字時,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. jquery驗證文字用逗號輸入
- 6. jQuery的添加逗號到粘貼的字符串輸入
- 7. Swift:在輸入時在文本字段中添加逗號和$
- 8. 在Python中添加逗號輸入?
- 9. iPhone添加逗號輸入號碼字段是因爲JavaScript
- 10. 限制輸入以逗號分隔的形式輸入數字
- 11. 如何在用戶輸入文本字段時自動爲每3個數字添加逗號 - iOS Objective C
- 12. 爲輸出添加逗號數
- 13. 如何讓用戶輸入逗號
- 14. 用字母輸入時用逗號分開顯示數
- 15. 添加逗號分隔數千到輸入數在Angular2
- 16. Jquery窗體 - 我可以添加輸入嗎?
- 17. 添加逗號字符串
- 18. 添加使用jQuery或逗號印度數字JS
- 19. jquery .find()方法 - 參數由逗號加入的逗號組成
- 20. 如何添加輸入值,點擊時點擊(逗號)?
- 21. 在文本框中輸入時添加逗號
- 22. scanf對用戶可以輸入的字節數有限制嗎?
- 23. 在輸入字段的字符串末尾添加特殊字符,jquery自動添加逗號
- 24. 在回顯數組時添加逗號
- 25. Python中添加逗號進入號串
- 26. 如何在輸入字段中逗號後僅允許輸入數字,逗號和兩個數字?
- 27. 打印用戶輸入的數字,逗號和之間的數字
- 28. 以四位或更多位數的數字添加逗號
- 29. 添加逗號分隔的數字爲Javascript輸出
- 30. 添加逗號,十進制數字輸出javascript
那麼等待你想在每個數字後加上一個逗號?所以我輸入123456會變成1,2,3,4,5,6?或者你只是用逗號替換空格? – 2010-04-13 19:02:56
作爲macek的答案,他很可能想要添加數千個分隔符。 – 2010-04-13 19:26:11