我需要用逗號分隔數字,并且我使用了我在這里找到的另一個問題的代碼塊,但它沒有按預期作業
輸入
<input type="text" name="budget" placeholder="Total Budget" class="form-control">
JS
$('input[name=budget]').keyup(function (e) {
e.preventDefault();
let value = $(this).val();
let newValue = value.toString().replace(/\B(?=(\d{3}) (?!\d))/g, ",")
$(this).val(newValue);
});
當我測驗這段代碼時,我遇到了一個問題
我輸入 1000 并正確顯示 1,000
但是當我輸入另一個 0 時,數字回傳到這個 1,0,000
我每增加一個 0,它就會在它之后添加一個逗號,就像 1,0,0,0,0,000
uj5u.com熱心網友回復:
您需要先洗掉逗號
let newValue = value.toString().replace(/,/g,"").replace(/\B(?=(\d{3}) (?!\d))/g, ",")
uj5u.com熱心網友回復:
有一個用于格式化數字 Intl.NumberFormat的本機解決方案
我會使用它,而不是 regExp 替換。
const numberFormatter = new Intl.NumberFormat();
const newValue = numberFormatter.format(value);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/476438.html
標籤:javascript html jQuery
上一篇:渲染不同組件時無法更新組件
