请用JavaScript写一个正则实现金额格式化,例如16823000=16,823,000

229 阅读1分钟

可以使用正则表达式和字符串的 replace 方法来实现金额的格式化。以下是一个示例实现:

function formatAmount(amount) {
  var formattedAmount = amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  return formattedAmount;
}

console.log(formatAmount(16823000)); // 输出 "16,823,000"

在这个示例中,我们定义了一个名为 formatAmount 的函数,它接受一个金额作为参数。首先,我们将金额转换为字符串形式,然后使用正则表达式进行替换。

正则表达式 / \B(?=(\d{3})+(?!\d))/g 用于匹配每三个数字之间的位置,然后使用逗号进行替换。其中,\B 表示非单词边界,(?=(\d{3})+(?!\d)) 表示匹配后面跟着一组三个数字的位置,g 表示全局匹配。

通过调用 replace 方法,我们将匹配的位置替换为逗号,最终得到格式化后的金额。

这样,我们可以调用 formatAmount 函数来实现金额的格式化,例如 formatAmount(16823000),返回结果为 "16,823,000"