/// <summary> /// 将传入的字符串中间部分字符替换成特殊字符 /// </summary> /// <param name="value">需要替换的字符串</param> /// <param name="startLen">前保留长度</param> /// <param name="endLen">尾保留长度</param> /// <param name="specialChar">特殊字符</param> /// <returns>被特殊字符替换的字符串</returns> public static string ReplaceWithSpecialChar(string value, int startLen = 3, int endLen = 4, char specialChar = '*') { try { int lenth = value.Length - startLen - endLen; if (lenth == 0) value = value.Substring(0, 1) + specialChar; if (lenth < 0) value = specialChar.ToString(); string replaceStr = value.Substring(startLen, lenth); string specialStr = string.Empty; for (int i = 0; i < replaceStr.Length; i++) { specialStr += specialChar; } value = value.Replace(replaceStr, specialStr); } catch (Exception) { return value; } return value; }
另外一个,隐藏手机号码中间4位
/// <summary> /// 格式字符串-隐藏手机号中间数字 /// </summary> /// <param name="phone"></param> /// <returns></returns> public static string PhoneFormatString(string phone) { if (phone == null) { return string.Empty; } return Regex.Replace(phone, "(\\d{3})\\d{4}(\\d{4})", "$1****$2"); }
本文介绍了两种实用的字符串脱敏方法:一种是通用的字符串中间部分替换为特殊字符的函数,可以自定义保留前后字符数量及特殊字符;另一种是针对手机号格式的专用脱敏函数,能够自动隐藏中间四位数字,确保个人信息的安全。
898

被折叠的 条评论
为什么被折叠?



