我正在使用sun.net.util.IPAddressUtil
包来检查字符串是否包含有效的IPv4和IPv6地址。
代码片段如下:
String ipv4addr="200";
if(IPAddressUtil.isIPv4LiteralAddress(ipv4addr))
{
System.out.println("valid ipv4 address");
}
else
{
System.out.println("not valid");
}
但对于如200和300之类的地址,它仍然表示这是一个有效的IPv4地址,但实际上不是。 当我使用相同的软件包并检查IPv6地址时,它会显示:
String ipv6addr="200";
if(IPAddressUtil.isIPv6LiteralAddress(ipv6addr))
{
System.out.println("valid ipv6 address");
}
else
{
System.out.println("not valid");
}
我得到了正确的结果,但是IPv4似乎无法工作或者我使用它不正确。请指导我。我不想使用正则表达式来验证IPv4...