假设我有一个字符串
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/