Alo*_*oCT 1 javascript string jquery number-formatting currency-formatting
我无法将输入值转换为货币格式.我想在用户输入数字(5,000.00; 125,000.00)时自动添加数千和小数分隔符.
这是我的代码:
$('input.CurrencyInput').on('blur, focus, keyup',
function() {
$(this).val().toLocaleString('en-US', {
style: 'decimal',
maximumFractionDigits: 2,
minimumFractionDigits: 2
});
});
Run Code Online (Sandbox Code Playgroud)
您的代码存在一些问题:
toLocaleString.更正这些,这是一个工作演示.为了简便起见,我已删除了其他事件处理程序,除了blur作为keyup是造成问题.
$('input.CurrencyInput').on('blur', function() {
const value = this.value.replace(/,/g, '');
this.value = parseFloat(value).toLocaleString('en-US', {
style: 'decimal',
maximumFractionDigits: 2,
minimumFractionDigits: 2
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="CurrencyInput">Run Code Online (Sandbox Code Playgroud)