gpt4 book ai didi

javascript - 无法在javascript中删除带有 "replace"的逗号

转载 作者:行者123 更新时间:2023-12-01 02:59:19 33 4
gpt4 key购买 nike

当使用 toLocaleString 时,即使它输出一个带有 $ 和逗号分隔的数千个值的值,它也喜欢其中没有逗号或 $ 的纯数字。我试图在放入之前将其从值中删除,它似乎适用于“$”,但不适用于“,”。

有人可以告诉我我做错了什么吗?

$("#bob").blur(function() {
NumberStripped = ($("#bob").val()).replace(',', '');
NumberStripped = ($("#bob").val()).replace('$', '');
console.log(NumberStripped);
CurrencyValue = Number(NumberStripped).toLocaleString('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
$('#bob').val(CurrencyValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="CurrencyTest" id="bob" maxlength="15">

要复制它,您基本上可以输入 123456,单击“关闭”,然后单击“打开”并单击“关闭”。

其他一些帖子建议我用它来替换逗号:

NumberStripped = ($("#bob").val()).replace(/,/g, '');

我不确定它的作用,但它仍然不起作用。

要复制它,您基本上可以输入 123456,单击“关闭”,然后单击“打开”并单击“关闭”。

最佳答案

问题是因为您只使用第二个 replace() 调用的结果 - 您没有使用第一次替换后创建的值来删除 个字符。

话虽这么说,您可以通过进行一次 replace() 调用来改进逻辑,该调用会找到任何不是数字或 . 的字符并将其删除。然后格式化功能就可以正常工作了。试试这个:

$("#bob").blur(function() {
var numberStripped = $("#bob").val().replace(/[^\d.]/g, '');
var currencyValue = parseFloat(numberStripped).toLocaleString('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
$('#bob').val(currencyValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="CurrencyTest" id="bob" maxlength="15">

关于javascript - 无法在javascript中删除带有 "replace"的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46549179/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com