在我的 Angular TypeScript 代码中,我有一个用于格式化此模型中的值的函数:
1234
->1 234,000
我的函数的第一部分使用这样的正则表达式:
// delete 0 in string start and make 3 digits packets
cleanedValue = cleanedValue.replace(/^0+(?=\d)/, '').replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
没关系,但是 Sonar 给了我一个:
确保此处使用的正则表达式不会导致拒绝服务,该正则表达式由于回溯而容易受到超线性运行时的影响。
我该如何在没有正则表达式或没有 Sonar 提示的情况下执行此操作。这个警告真的是积极的吗?
现代 JS 中不需要正则表达式。
您可以使用法国(瑞士)语言环境来格式化数字。
注意:不要忘记将其设置
minimumFractionDigits
为 3。