有什么方法可以使用正则表达式和 jquery 添加 html 中分隔的数字吗?

Is there any way to add number separated in html using regex and jquery?

我想使用正则表达式和 jquery.

将特定数字添加到 HTML 中以逗号分隔的所有数字

这是我的试用代码 -

$('#u-g-wb-break-word').text(function(i, s) {
  return s.replace(/\d+/g, function(m) {
    return parseInt(m, 10) + 612;
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="u-g-wb-break-word">
  123,451,45.00
</div>

这确实有效,但在浮点数的情况下无效,在十进制数中,脚本也在小数点后添加值。 为了改变这一点,我也使用 /m 而不是 'g' 但它仍然只对一个数字有效,并不是所有的数字都用逗号分隔。

$('#u-g-wb-break-word').text(function(i, s) {
  return s.replace(/\d+/m, function(m) {
    return parseInt(m, 10) + 612;
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="u-g-wb-break-word">5000.1000</div>

以上代码有效,但前提是我在 HTML 中输入一个数字,我该如何修复代码。提前致谢

使用正则表达式匹配带有可选分数的数字。使用捕获组分别获取整数部分和小数部分,然后与整数相加即可。

$('#u-g-wb-break-word').text(function(i, s) {
  return s.replace(/(\d+)(\.\d+)?/g, function(m, int, fraction) {
    return (parseInt(int) + 612) + (fraction || "");
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="u-g-wb-break-word">
  123,451,45.00
</div>