假设我有一个字符串

var unmasked = 'AwesomeFatGorilla'

我想要做的是从末尾屏蔽 50%+ 的字符串。
var masked = unmasked.replace( //REGEX//, '•')

替换后,掩码字符串应如下所示:
AwesomeF•••••••••

由于我的未屏蔽字符串中有 17 个字母,因此最后 9 个字母被屏蔽了。是否有任何适用于此的正则表达式?

最佳答案

这是一个简单的替代方案,没有正则表达式:

var unmasked = 'AwesomeFatGorilla'
var masked = unmasked.slice(0, Math.floor(unmasked.length) / 2) + "•".repeat(Math.ceil(unmasked.length / 2));
console.log(masked)


你必须调整奇数长度的数学 感谢下面的 Rhyono comment,我使用 Math.floor()Math.ceil() 来获得你想要的奇数长度的行为。

关于Javascript 正则表达式 : Mask last 50% of string,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48876409/

10-12 01:25