文章 - 一行代码实现数字千位分隔符

发布于 2021-11-11 23:22:33 字数 876 浏览 729 评论 0

方法

var format = function (number) {
    return String(number).replace(/(\d)(?=(\d{3})+$)/g, '$1,');
};

原理

难点在这个正则上。

/(\d)(?=(\d{3})+$)/g

?= 术语叫 先行断言。

x(?=y) 称为先行断言(Positive look-ahead),x 只有在 y 前面才匹配,y 不会被计入返回结果。

var m = "abc".match(/b(?=c)/);
m
// "b"

上面的代码使用了先行断言,b 在 c 前面所以被匹配,但是括号对应的 c 不会被返回。

阮一峰:RegExp对象-JavaScript 标准参考

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

瑾夏年华

暂无简介

0 文章
0 评论
669 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文