using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string email = "fajarsyairillah@mail.com";
string Email = maskEmail(email);
string Email2 = maskEmailNoregex(email);
Console.WriteLine("Email :{0}\nEmail2: {1}", Email, Email2);
}
public static string maskEmail(string email)
{
if (string.IsNullOrEmpty(email)) return email;
return Regex.Replace(email, @"(?<=^[^@]{2,})[^@](?=[^@]{2,}@)", "*");
}
public static string maskEmailNoregex(string email)
{
if (string.IsNullOrEmpty(email)) return email;
var split = email.Split('@');
if (split.GetLength(0) != 2 || split[0].Length < 5) return email; // There is nothing to modify
return split[0].Substring(0, 2) + new string('*', split[0].Length-4) + split[0].Substring(split[0].Length - 2) + "@" + split[1];
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlzdHJpbmcgZW1haWwgPSAiZmFqYXJzeWFpcmlsbGFoQG1haWwuY29tIjsKICAgICAgICBzdHJpbmcgRW1haWwgPSBtYXNrRW1haWwoZW1haWwpOwogICAgICAgIHN0cmluZyBFbWFpbDIgPSBtYXNrRW1haWxOb3JlZ2V4KGVtYWlsKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiRW1haWwgOnswfVxuRW1haWwyOiB7MX0iLCBFbWFpbCwgRW1haWwyKTsgICAKCX0KCXB1YmxpYyBzdGF0aWMgc3RyaW5nIG1hc2tFbWFpbChzdHJpbmcgZW1haWwpCiAgICB7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGVtYWlsKSkgcmV0dXJuIGVtYWlsOwogICAgICAgIHJldHVybiBSZWdleC5SZXBsYWNlKGVtYWlsLCBAIig/PD1eW15AXXsyLH0pW15AXSg/PVteQF17Mix9QCkiLCAiKiIpOwogICAgfQogICAgcHVibGljIHN0YXRpYyBzdHJpbmcgbWFza0VtYWlsTm9yZWdleChzdHJpbmcgZW1haWwpCiAgICB7CiAgICAJaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGVtYWlsKSkgcmV0dXJuIGVtYWlsOwogICAgCXZhciBzcGxpdCA9IGVtYWlsLlNwbGl0KCdAJyk7CiAgICAJaWYgKHNwbGl0LkdldExlbmd0aCgwKSAhPSAyIHx8IHNwbGl0WzBdLkxlbmd0aCA8IDUpIHJldHVybiBlbWFpbDsgLy8gVGhlcmUgaXMgbm90aGluZyB0byBtb2RpZnkKICAgICAgICByZXR1cm4gc3BsaXRbMF0uU3Vic3RyaW5nKDAsIDIpICsgbmV3IHN0cmluZygnKicsIHNwbGl0WzBdLkxlbmd0aC00KSArIHNwbGl0WzBdLlN1YnN0cmluZyhzcGxpdFswXS5MZW5ndGggLSAyKSArICJAIiArIHNwbGl0WzFdOwogICAgfQp9Cg==