所以隨手寫了一下
如有更好的方式可提供喔謝謝!!
////// 遮罩電話 (十個字 手機市話)(九個字 市話)(十個字以上前四後三)(四個字以下回傳空白) /// /// 字串 ///string public static string MaskString(string pStr) { string mReturn = ""; if (pStr.Length == 9 && pStr.StartsWith("0")) //9碼的如高雄 { mReturn = pStr.Substring(0,2) + "-XXX-" + pStr.Substring(5,4); } else if (pStr.Length == 10 && pStr.StartsWith("09"))//手機 { mReturn = pStr.Substring(0, 4) + "-XXX-" + pStr.Substring(7, 3); } else if (pStr.Length == 10 && pStr.StartsWith("0"))//台北市話 { mReturn = pStr.Substring(0, 2) + "-XXXX-" + pStr.Substring(6, 4); } else { if (pStr.Length > 10)//十個字以上 { for (int i = 0; i < pStr.Length ; i++) { if ((i == 0 || i <= 3) || (i >= pStr.Length - 3)) //前四個字 後三個字出現 { mReturn += pStr.Substring(i, 1); } else { mReturn += "X"; } } } else if(pStr.Length >= 4)//四個字以上才會做 { for (int i = 0; i < pStr.Length; i++) { if (i >= pStr.Length - 3) //後三個字出現 { mReturn += pStr.Substring(i, 1); } else { mReturn += "X"; } } } } return mReturn; }