循环遍历字符串中的数字(仅限数字)

时间:2016-07-13 19:27:21

标签: javascript jquery

我试图通过在其周围包裹<span>标记来突出显示字符串的第4,第5和第6个数字。该字符串包含数字,逗号,美元符号和偶尔的点。

这是我的字符串:

"$116,023,150"

我希望输出完全相同,除了第4,第5和第6个数字包含在<span>标签内。我尝试使用for()循环在字符串中循环。但是,我不希望任何其他字符影响计数(只有字符串中的数字)。

"$116,<span>0</span><span>2</span><span>3</span>,150"

让我们说字符串会有所不同,我仍然希望第4,第5和第6个数字包含在<span>标记中。

"$61,0<span>0</span><span>2</span>.<span>1</span>2" == "$61,002.12"

如何使用Javascript / jQuery实现此目的?

1 个答案:

答案 0 :(得分:0)

我会使用带有替换函数的正则表达式,这取决于&#34;索引&#34;数字,它被包裹在<span>标签中。 (不是指数,它是当前的数字位数)

&#13;
&#13;
$("div").html(function(_, old) {
  var i = 0;
  return old.replace(/\d/g, function(num) {
    i++;
    return i >= 4 && i <= 6 ? "<span>" + num + "</span>" : num;
  });
});
&#13;
span { font-weight: bold }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>$116,023,150</div>
<div>$61,002.12</div>
&#13;
&#13;
&#13;