IP合法判断包含IPv4和IPv6

IP合法判断包含IPv4和IPv6

复制代码
  /** 标准IPv4地址的正则表达式 */
    public static final Pattern IPV4_REGEX =
            Pattern.compile(
                    "^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$");
    /** 无全0块,标准IPv6地址的正则表达式 */
    public static final Pattern IPV6_STD_REGEX =
            Pattern.compile(
                    "^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");
    /** 压缩正则表达式 */
    public static final Pattern IPV6_COMPRESS_REGEX =
            Pattern.compile(
                    "^(([0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4})*)?)::((([0-9A-Fa-f]{1,4}:)*[0-9A-Fa-f]{1,4})?)$");

  /**
     * Is ipv 4 boolean.
     */
    public static boolean isIpv4(String ipv4) {
        return GlobalConst.IPV4_REGEX.matcher(ipv4).matches();
    }

    /**
     * Is ipv 6 boolean.
     */
    public static boolean isIpv6(String ipv6) {
        // 8*4 位数字,加上七个: ipv6地址长度不可能超过39位
        if (ipv6.length() > GlobalConst.NUM_39) {
            return false;
        }
        return GlobalConst.IPV6_STD_REGEX.matcher(ipv6).matches()
                || GlobalConst.IPV6_COMPRESS_REGEX.matcher(ipv6).matches();
    }
复制代码

 

posted @   整合侠  阅读(311)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示