C# 实现 IP 地址有效性验证

简介: 通过正则表达式与IPAddress类双重验证IP地址,支持IPv4和IPv6格式校验,确保地址有效性。代码示例展示了高效、可靠的验证方法。

通过正则表达式和 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)}");
        }
    }
}
相关文章
Web应用基本架构
Web应用基本架构。
539 6
|
运维 Linux
Linux NTP服务详解
Linux NTP服务详解
1182 1
|
存储 SQL 安全
加密后的数据如何进行模糊查询?
在数据安全和隐私保护日益重要的今天,加密技术成为保护敏感数据的重要手段。然而,加密后的数据在存储和传输过程中虽然安全性得到了提升,但如何对这些数据进行高效查询,尤其是模糊查询,成为了一个挑战。本文将深入探讨如何在保证数据安全的前提下,实现加密数据的模糊查询功能。
2623 0
|
6月前
|
C#
C# 实现发送邮件功能(SMTP)
通过SMTP协议实现邮件发送,支持文本与附件,需配置邮箱SMTP信息(如QQ邮箱授权码)。示例代码展示C#中如何使用SmtpClient发送邮件,适用于QQ、163、Gmail等主流邮箱服务。
|
SQL 存储 算法
ClickHouse性能优化 3
ClickHouse性能优化
1173 0
|
存储
Vue3 实现 PDF 文件在线预览功能
Vue3 实现 PDF 文件在线预览功能
3023 0
|
4月前
|
人工智能 算法 数据挖掘
1270万毕业生涌入市场:能拿高薪的,都做对了这三件事
2026届高校毕业生达1270万,再创历史新高。就业难主因非总量过剩,而是“结构性错位”:AI、新能源等新赛道岗位激增却缺人,传统岗位却竞争惨烈。破局关键在于升级三类能力——AI工具应用力、行业+技术跨界力、真实项目实操力。普通人亦可切入AI测试等务实路径。行动,永远是解题第一步。
|
7月前
|
人工智能 测试技术
测试工程师必备:利用Apipost AI编写脚本,快速实现多接口串联流程
Apipost支持快速导入接口并利用AI自动生成前后置脚本,解决无文档、不会写脚本及多接口串联难题,提升测试效率。
|
存储 开发框架 前端开发
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(9) -- 实现系统动态菜单的配置和权限分配
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(9) -- 实现系统动态菜单的配置和权限分配
|
SQL 存储 关系型数据库
influxdb常用sql总结
influxdb常用sql总结
1639 1