| | |
| | | return masked; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 掩码中间字符(保留前3位和后4位,中间用*代替) |
| | | /// </summary> |
| | | /// <param name="input">原始字符串</param> |
| | | /// <param name="keepStart">保留开头字符数(默认3)</param> |
| | | /// <param name="keepEnd">保留结尾字符数(默认4)</param> |
| | | /// <param name="maskChar">掩码字符(默认*)</param> |
| | | /// <returns>处理后的掩码字符串</returns> |
| | | public static string MaskMiddle(this string input, int keepStart = 3, int keepEnd = 4, char maskChar = '*') |
| | | { |
| | | // 空值或长度不足时直接返回原始值 |
| | | if (string.IsNullOrEmpty(input) || input.Length <= keepStart + keepEnd) |
| | | return $"{input.Substring(0, 1)}*{input.Substring(input.Length - 1, 1)}"; |
| | | |
| | | // 计算需要掩码的字符数 |
| | | int maskLength = input.Length - keepStart - keepEnd; |
| | | |
| | | // 拼接结果:前3位 + maskLength个* + 后4位 |
| | | return $"{input.Substring(0, keepStart)}{new string(maskChar, maskLength)}{input.Substring(input.Length - keepEnd)}"; |
| | | } |
| | | |
| | | #region 时间区间字符串转其实和结束时间 |
| | | /// <summary> |