动态控制小数位数,给正则表达式传参需要使用new RegExp()构造函数
平时我们使用字面量写法
let value = subItems.keyValue.replace(/^(\-)*(\d+)\.(\d{2}).*$/, '$1$2.$3');
需要使用new RegExp()构造正则,插入变量
1、两侧的"/"需要去除。
2、当中的转义字符\需要用"\\"。
3、变量用字符串拼接。
const accuracy = 3
const regx = new RegExp("^(\\-)*(\\d+)\\.(\\d{" + accuracy + "}).*$");
// 需要为正则传参g、i这样写
const regx = new RegExp("^(\\-)*(\\d+)\\.(\\d{" + accuracy + "}).*$", "g");