/**
* 检测ipv4地址是否合法
* @param address
* @return boolean if this address is validate
*/
public boolean validate(String address) {
//最开始要判断address是否为空的情况,增加代码的健壮性
if(address.length()==0||address.equals(" ")
||address==null) {
return false;
}
//1.将ipv4地址进行分割
String[] addressarray=address.split("\\.");
//2.判断ipv4地址是否是四位
if(addressarray.length!=4) return false;
//3.判断ipv4地址的取值范围,和前导为零的问题
for (int j = 0; j < addressarray.length; j++) {
Integer address_valueof;
//此异常捕获字段,是用来判断是否是a.1.23.4这种情况,直接返回false,防止出现异常抛出
try {
address_valueof=Integer.valueOf(addressarray[j]);
}catch(NumberFormatException e) {
return false;
}
if(address_valueof>-1&&address_valueof<256
&&addressarray[j].equals(address_valueof.toString())) {
continue;
}else {
return false;
}
}
return true;
}