public boolean isIP(String addr)
{
if(addr.length() < 7 || addr.length() > 15 || "".equals(addr))
{
return false;
}
/**
* 判断IP格式和范围
*/
String rexp = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";
Pattern pat = Pattern.compile(rexp);
Matcher mat = pat.matcher(addr);
boolean ipAddress = mat.find();
//============对之前的ip判断的bug在进行判断
if (ipAddress==true){
String ips[] = addr.split("\\.");
if(ips.length==4){
try{
for(String ip : ips){
if(Integer.parseInt(ip)<0||Integer.parseInt(ip)>255){
return false;
}
}
}catch (Exception e){
return false;
}
return true;
}else{
return false;
}
}
return ipAddress;
}
}