小工具知识网

当前位置: 首页 > 行业知识 > 正则表达式 千分位分隔符(金额每3位添加逗号)

行业知识

正则表达式 千分位分隔符(金额每3位添加逗号)

2026-11-11 05:16:52 来源:互联网转载

可以使用正则表达式来实现千分位分隔符的添加。

下面���一个例子,示范如何将金额的每3位添加逗号作为千分位分隔符:

()
function thousandSeparator(amount) {  // 将数字转换为字符串,并使用正则表达式替换  return amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');}console.log(thousandSeparator(1234567)); // 输出: 1,234,567console.log(thousandSeparator(9876543.21)); // 输出: 9,876,543.21console.log(thousandSeparator(1000000)); // 输出: 1,000,000
  • 正则表达式 /\B(?=(\d{3})+(?!\d))/g 匹配了所有不是单词边界的位置,并且后面连续出现3个数字的位置,然后用逗号替换这些位置。
  • (?=(\d{3})+(?!\d)) 是一个正向前视断言,它匹配了后面至少有3个数字的位置,且后面不能再有数字。
  • \B 是一个非单词边界的断言,它匹配了不是单词边界的位置,即不是数字或字母的位置。
  • g 是全局搜索标志,表示匹配所有符合条件的位置。

    1.金额每3位添加逗号(两种方式)

    //这里使用两种方式,使用一种删除第二种即可function thousand(num) {    // 方式1.  找见第一个数字后面成3倍数的数字,然后把这些匹配的数字转换成 “数字,”的形式,就可以完成千分位表示    // 方式2.  找见数字中间的空位,比如123,找见1和2中间,2和3中间,把符合条件的转换为","即可    return (num+"").replace(/\d(?=(\d{3})+$)/g, "$&,")+"  "+ num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")    // 第一种方式解释    // \d 表示匹配一个[0-9]字符    // ?= 表示限定后面的字符    // \d{3}+表示匹配3个数,一个或多个    // $ 表示结尾符,代表这就是结尾不可以有其他数字存在了    // $&,  表示最近一次的匹配项,把它变成$&,的形式就相当于加逗号        // 第二种方式解释    // \B \b匹配的是一个位置,这个位置是一个单词的边界。而我们的\B则与之相反,不属于\b'的位置都可以被\B`匹配到。    // 也就是中间值,如一串数字123,他匹配的是1和2,2和3之间的位置    // (?!\d) 后面不能跟相应的内容这里表示后面不能有数字\d存在}console.log(thousand(11234567890)); //11,234,567,890  11,234,567,890

    2.正则表达式的replace,替换匹配字符

    // replace进行将匹配的字符转换成对应字符var string = 'hhh是HHH';var pattern = /hhh|HHH/g; //g 全局匹配var result = string.replace(pattern,function($0){ //敏感词过滤,$0是代表正则匹配成功的字符串  var s = '';  console.log($0);  for(var i = 0; i  ()

上一篇:怎么远程宝塔面板?

下一篇:4种方法用Python批量实现多Excel多Sheet合并