如何将超过3个字符的其余字符串替换为另一个字符?
前:
var str = "John Doe";
我希望输出
Johxxxxx
答案 0 :(得分:3)
使用String#replace
方法和回调函数
var str = "John Doe";
console.log(
str.replace(/^(.{3})(.+)$/, function(_, m1, m2) {
return m1 + // first 3 characters
new Array(m2.length + 1).join('x'); // generate string with length of remaining character
})
)
或使用String#slice
方法。
var str = "John Doe";
console.log(
str.slice(0, 3) + // get first three character
new Array(str.length > 2 ? str.length - 2 : 0).join('x') // generate string with remaining length
)