正则表达式:
^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])\.((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){2}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$
java方法:
public static boolean isIp(String ip) {
//判断IP地址的正则表达式
String ipRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";
//如果前三项判断都满足,就判断每段数字是否都位于0-255之间
if (StringUtils.isNotEmpty(ip) && ip.matches(ipRegex)) {
String[] ipArray = ip.split("\\.");
for (int i = 0; i < ipArray.length; i++) {
int number = Integer.parseInt(ipArray[i]);
//判断每段数字是否都在0-255之间
if (number < 0 || number > 255) {
return false;
}
}
return true;
} else {//如果与正则表达式不匹配,则返回false
return false;
}
}