3 回答

TA貢獻1831條經驗 獲得超9個贊
你的第一個正則表達式需要一些調整,這應該可以工作。
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)));

TA貢獻1803條經驗 獲得超3個贊
您可以在以下位置使用回調函數或 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'))))

TA貢獻1830條經驗 獲得超3個贊
如果您不是在尋找正則表達式解決方案,那么您也可以嘗試將其作為一個選項?;?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,"*"))
添加回答
舉報