我想使用 Java 验证 IPv4 地址。它应该使用 点-十进制表示法 编写,因此它应该有 3 个点(“ .
”),点之间没有字符,数字,数字应该在有效范围内。应该怎么做?
原文由 iRunner 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想使用 Java 验证 IPv4 地址。它应该使用 点-十进制表示法 编写,因此它应该有 3 个点(“ .
”),点之间没有字符,数字,数字应该在有效范围内。应该怎么做?
原文由 iRunner 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用正则表达式非常简单(但请注意,这比使用 Apache Commons Utility 的 worpet 的答案 效率低得多且更难阅读)
private static final Pattern PATTERN = Pattern.compile(
"^(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d\\d?|2[0-4]\\d|25[0-5])$");
public static boolean validate(final String ip) {
return PATTERN.matcher(ip).matches();
}
基于后 Mkyong
原文由 Necronet 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
请参阅使用 apache 公共库的 https://stackoverflow.com/a/5668971/1586965
InetAddressValidator
或者你可以使用这个功能 -