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

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(1234567890)); //1,234,567,890  1,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 < $0.length; i++){
    s+= '*';
  }
  return s;
})
console.log(result); //***是***
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值