using System.Text.RegularExpressions; namespace ZhonTai.Common.Helpers; /// /// 数据脱敏 /// public partial class DataMaskHelper { [GeneratedRegex("(\\d{3})\\d{4}(\\d{4})")] public static partial Regex PhoneMaskRegex(); [GeneratedRegex("(?<=.{2})[^@]+(?=.{2}@)")] public static partial Regex EmailMaskRegex(); [GeneratedRegex("([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})")] public static partial Regex IPMaskRegex(); /// /// 手机号脱敏 /// /// /// /// public static string PhoneMask(string input, string mask = "****") { if (input.IsNull()) { return input; } return PhoneMaskRegex().Replace(input, $"$1{mask}$2"); } /// /// 邮箱脱敏 /// /// /// /// public static string EmailMask(string input, string mask = "****") { if (input.IsNull()) { return input; } return EmailMaskRegex().Replace(input, mask); } /// /// IP脱敏 /// /// /// /// public static string IPMask(string input, string mask = "*") { if (input.IsNull()) { return input; } return IPMaskRegex().Replace(input, $"$1.{mask}.{mask}.$4"); } }