移动系统liao
2025-08-20 ad64f9d240fb054856afe4ab9523062b2bc079b9
Admin.NET/cylsg.utility/Extend/StringEx.cs
@@ -133,7 +133,26 @@
                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>