我想用Java验证一个IPv4地址。它应该使用dot-decimal notation编写,所以它应该有3个点(".
"),没有字符,点之间的数字,并且数字应该在有效的范围内。应该怎么做呢?
发布于 2015-06-07 16:16:26
请参阅使用apache commons库InetAddressValidator
的https://stackoverflow.com/a/5668971/1586965
或者你可以使用这个函数-
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);
}
发布于 2011-04-15 01:53:32
使用正则表达式非常简单(但请注意,这比使用Apache Commons Utility的worpet's answer效率低得多,也更难阅读)
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
发布于 2011-04-15 04:00:51
尝试使用InetAddressValidator实用程序类。
文档在此:
请在此处下载:
https://stackoverflow.com/questions/5667371
复制相似问题