首页 > 解决方案 > 如何在js替换功能中进行数字操作?

问题描述

const detailFontSize = fontSize ? fontSize.replace(/(\d+)/, $1-2) : '';

比如fontSize为“12pt”,希望修改为“10pt”。如何用$1做replace函数中的数字运算?</p>

上面的代码不起作用,因为 $1 没有定义。如果我添加引号,它将变为“12-2pt”

标签: javascriptregexreplace

解决方案


您可以使用函数作为 .replace() 的第二个参数来操作匹配值:

const fontSize = '12pt';

const detailFontSize = fontSize ? fontSize.replace(/(\d+)/, m => Number(m) - 2) : '';

console.log(detailFontSize)


推荐阅读