如何更改电子邮件字符串以隐藏C#

时间:2015-07-04 08:47:55

标签: c#

我的C#代码从WebAPI

返回
        return Ok(new
        {
            email = user.Email,
            sent = true
        });

我想这样做,以便不发送完整的电子邮件。

任何人都可以提出一个我可以发送的好方法:

  • 地址的前2个字符
  • ...
  • @到地址结尾之前的最后两个

所以例如

davesmith@live.com

的形式返回
da...th@live.com

2 个答案:

答案 0 :(得分:1)

你可以这样做:

string email = "davesmith@live.com";
string maskedEmail = string.Format("{0}...{1}", email.Substring(0, 2), email.Substring(email.LastIndexOf("@") - 2));

答案 1 :(得分:1)

问题是在@之前少于4个字符的电子邮件。你可以从

开始
 private static string ShortenMail(string mail)
 {
     var regex = new Regex("^(.{1,2}).*?(.{0,2}@.*)$");
     return regex.Replace(mail, "$1...$2");
 }

并通过ShortenMail("davesmith@live.com");

进行调用

我稍微改了一下,所以可以缩短邮件。