首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中验证IPv4地址

在Java中验证IPv4地址
EN

Stack Overflow用户
提问于 2011-04-15 01:49:14
回答 20查看 136K关注 0票数 72

我想用Java验证一个IPv4地址。它应该使用dot-decimal notation编写,所以它应该有3个点("."),没有字符,点之间的数字,并且数字应该在有效的范围内。应该怎么做呢?

EN

回答 20

Stack Overflow用户

回答已采纳

发布于 2015-06-07 16:16:26

请参阅使用apache commons库InetAddressValidatorhttps://stackoverflow.com/a/5668971/1586965

或者你可以使用这个函数-

代码语言:javascript
复制
public static boolean validate(final String ip) {
    String PATTERN = "^((0|1\\d?\\d?|2[0-4]?\\d?|25[0-5]?|[3-9]\\d?)\\.){3}(0|1\\d?\\d?|2[0-4]?\\d?|25[0-5]?|[3-9]\\d?)$";

    return ip.matches(PATTERN);
}
票数 23
EN

Stack Overflow用户

发布于 2011-04-15 01:53:32

使用正则表达式非常简单(但请注意,这比使用Apache Commons Utility的worpet's answer效率低得多,也更难阅读)

代码语言:javascript
复制
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();
}

基于post Mkyong

票数 93
EN

Stack Overflow用户

发布于 2011-04-15 04:00:51

票数 58
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5667371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档