-
天涯尽头无女友
你的第一个正则表达式需要一些调整,这应该可以工作。let reg = /.{1,5}/let string = '123456789';let string2 = '123';console.log(string.replace(reg, (m) => "X".repeat(m.length)));console.log(string2.replace(reg, (m) => "X".repeat(m.length)));
-
繁星点点滴滴
您可以在以下位置使用回调函数或 lambda .replace():var arr = ['123456789','123','123456','1','12345'];arr.forEach(el => console.log(el, '::', el.replace(/^\d{1,5}/, m => m.replace(/\d/g, 'X'))))
-
牛魔王的故事
如果您不是在寻找正则表达式解决方案,那么您也可以尝试将其作为一个选项。基于 substring() 方法的替代方案function replace_String(string, numberofchar,chartoreplace) { return string.substring(0, numberofchar).split("").map(ele => ele = chartoreplace).join("").concat(string.substring(numberofchar, string.length))}console.log(replace_String("123456789", 5,"X"))console.log(replace_String("1", 1,"*"))