如何在C#邮箱验证逻辑中添加@后禁止紧跟句点的限制?
邮箱地址有效性验证:添加@后紧跟句点的无效判断
你只需要在现有代码开头增加一行对@.子串的检查,就能实现这项限制。修改后的完整代码如下:
private bool IsValidEmail(string email) { // 新增:@后紧跟句点则直接判定无效 if (email.Contains("@.")) return false; MailAddress mailAddress = new MailAddress(email); var hostParts = mailAddress.Host.Split('.'); if (hostParts.Length == 1) return false; // 主机部分无句点 if (hostParts.Any(p => p == string.Empty)) return false; // 主机部分存在双句点 if (mailAddress.User.Contains(' ')) return false; // 用户部分含空格 if (mailAddress.User.Split('.').Any(p => p == string.Empty)) return false; // 用户部分存在双句点或句点在末尾 return true; }
说明
- 新增的检查会直接拦截所有
@符号后紧跟句点的情况,比如user@.example.com、test@.com这类邮箱都会被判定为无效。 - 原有验证逻辑保持不变,确保其他规则(如主机部分必须有句点、不能有双句点、用户部分不能含空格等)依然生效。
内容的提问来源于stack exchange,提问作者awthz Zei
相关产品推荐
相关产品推荐

