通过正则表达式和 IPAddress 类双重验证 IP 地址格式,支持 IPv4 和 IPv6。
using System.Net; using System.Text.RegularExpressions; public class IpValidator { // IPv4 正则表达式 private const string Ipv4Pattern = @"^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$"; // 验证IP地址是否有效 public static bool IsValidIp(string ip) { if (string.IsNullOrEmpty(ip)) return false; // 方式1:使用IPAddress类验证 if (IPAddress.TryParse(ip, out _)) { return true; } return false; } // 验证是否为有效的IPv4地址 public static bool IsValidIpv4(string ip) { if (string.IsNullOrEmpty(ip)) return false; return Regex.IsMatch(ip, Ipv4Pattern, RegexOptions.Compiled); } // 调用示例 public static void TestIpValidation() { string[] testIps = { "192.168.1.1", "256.0.0.1", "::1", "abc" }; foreach (var ip in testIps) { Console.WriteLine($"IP: {ip} | 有效: {IsValidIp(ip)} | IPv4: {IsValidIpv4(ip)}"); } } }