首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/(\d)(?=(\d{3})+(?!\d))/g是如何工作的?

/(\d)(?=(\d{3})+(?!\d))/g是如何工作的?
EN

Stack Overflow用户
提问于 2018-05-23 01:56:52
回答 2查看 4K关注 0票数 1
代码语言:javascript
复制
function addTotal(checkValue, openAmount) {
        if(checkValue)
            totalOpenAmount += openAmount;
        else
            totalOpenAmount -= openAmount;

        if(blnUpdateCheckAll) updateAllChecked();

        document.getElementById('divTotalPayAmount').innerHTML = totalOpenAmount.toFixed(2).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,');
    }

这个(/(\d)(?=(\d{3})+(?!\d))/g)是如何处理这个函数的?一个数字至少是四位数?

EN

回答 2

Stack Overflow用户

发布于 2018-05-23 02:25:46

(\d)(?=(\d{3})+(?!\d))将从数字字符串中的最后3位数字和该数字字符串的最后3位数字的末尾转换为每3位数字。我不清楚它在代码中是如何使用的,但这就是regex。

票数 1
EN

Stack Overflow用户

发布于 2021-08-08 17:15:24

当它在代码中使用时,逗号",“将连接在一个三位数字的数字字符串之后。请检查代码:

代码语言:javascript
复制
var n = 1020304050;
document.getElementById('number').innerHTML = "This is a number: " +n;

var output = n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('result').innerHTML = "After using the regex the result is:  "+output;
console.log(output);

/* 
This is a number: 1020304050
After using the regex the result is:  1,020,304,050
*/
代码语言:javascript
复制
<html>

<body>
  <h3 id="number"></h3>
  <h3 id="result"></h3>

</body>

</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50478755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档