隐藏电子邮件地址的一部分



使用ruby例如在电子邮件地址的@符号前隐藏4个字符的最佳方法是什么

fakename@example.com = fake####@example.com 

当我显示推荐信列表时,它将在视图中使用,并且我不想显示整个地址。

我的长途旅行尝试:

name = 'fakename@example.com'.split("@")[0]
email = 'fakename@example.com'.split("@")[1]
new_address = name [0..-4] + "@" + email

试试下面的方法,它甚至可以处理a@example.com 等短名称

'fakename@example.com'.gsub(/.{0,4}@/, '####@')
'fakename@example.com'.gsub(/.{4}@/, '####@')
 => fake####@example.com

但它不会处理短名称(a@example.com=>a@examp.com)

您可以使用Regex来匹配和替换电子邮件地址。在ruby中,只需查找四个连续字符并后跟@,并将替换字符串作为####@ Regex,这被认为是非常非常有效的。

将此Regex用于第一个匹配/[a-z.]{4}@/

最新更新