欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java使用正则表达式验证IP v4和IP v6地址,正则表达式v6,package cn.o

来源: javaer 分享于  点击 17769 次 点评:212

java使用正则表达式验证IP v4和IP v6地址,正则表达式v6,package cn.o


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);     }}

输出:

true
相关栏目:

用户点评