zoukankan      html  css  js  c++  java
  • java使用正则表达式验证IP V4、 IP V6

    package cn.outofmemory.snippets.core;
    
    import java.util.regex.Pattern;
    
    /**
     * A collection of utilities relating to InetAddresses.
     */
    public class InetAddressUtils {
    
        public static void main(String[] args){
            String addr="192.168.1.2";
    
            System.out.println(isIPv4Address(addr));
    
        }
    
        private InetAddressUtils() {
        }
    
        private static final Pattern IPV4_PATTERN = 
            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}$");
    
        private static final Pattern IPV6_STD_PATTERN = 
            Pattern.compile(
                    "^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");
    
        private static final Pattern IPV6_HEX_COMPRESSED_PATTERN = 
            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})*)?)$");
    
        public static boolean isIPv4Address(final String input) {
            return IPV4_PATTERN.matcher(input).matches();
        }
    
        public static boolean isIPv6StdAddress(final String input) {
            return IPV6_STD_PATTERN.matcher(input).matches();
        }
    
        public static boolean isIPv6HexCompressedAddress(final String input) {
            return IPV6_HEX_COMPRESSED_PATTERN.matcher(input).matches();
        }
    
        public static boolean isIPv6Address(final String input) {
            return isIPv6StdAddress(input) || isIPv6HexCompressedAddress(input); 
        }
    
    }

     本文转自:http://outofmemory.cn/code-snippet/1197/java-usage-regular-expression-yanzheng-IP-v4-IP-v6-address

  • 相关阅读:
    CPU飙高,OOM排查?
    反射
    Mybatits
    spring 基础问题
    java中格式化数字0和#区别
    java中File对象的mkdir和mkdirs的区别
    java截取字符串几种方式
    java工厂模式
    Java获取文件路径的几种方式
    jxl生成excel时,增加批注和冻结窗口
  • 原文地址:https://www.cnblogs.com/Rozdy/p/4446698.html
Copyright © 2011-2022 走看看