文本长度超过3个字符串,而不是用另一个字符串替换rest

时间:2016-11-16 18:07:46

标签: javascript

如何将超过3个字符的其余字符串替换为另一个字符?

前:

var str = "John Doe";

我希望输出

Johxxxxx

1 个答案:

答案 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
)