使用 ruby 例如隐藏电子邮件地址 @ 符号前 4 个字符的最佳方法是什么
[email protected] = fake####@example.com
当我显示推荐列表并且我不想显示整个地址时,它将在视图中使用。
我的长途尝试:
name = '[email protected]'.split("@")[0]
email = '[email protected]'.split("@")[1]
new_address = name [0..-4] + "@" + email
尝试下面的方法,甚至可以处理短名称,例如 [电子邮件受保护]
'[email protected]'.gsub(/.{0,4}@/, '####@')
'[email protected]'.gsub(/.{4}@/, '####@')
=> fake####@example.com
您可以使用正则表达式来匹配和替换电子邮件地址。只需找到四个连续字符,后跟 @ 并给出替换字符串即可
####@
ruby 中的正则表达式被认为非常高效。
在第一场比赛中使用此正则表达式
/[a-z.]{4}@/
'[email protected]'.gsub(/(?<=.{2}).(?=[^@]*?.{3}@)/, '*')
# => "sa*******[email protected]"