有什么方法可以使用正则表达式和 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>
我想使用正则表达式和 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>