1:两两对比,split 切ip 地址 . 的时候需要写成 \\.
private static boolean validateIP(String startIP, String endIP) {
// 分离出ip中的四个数字位
String[] startIPArray = startIP.split("\\.");
String[] endIPArray = endIP.split("\\.");
// 取得各个数字
long[] startIPNum = new long[4];
long[] endIPNum = new long[4];
for (int i = 0; i < 4; i++) {
startIPNum[i] = Long.parseLong(startIPArray[i].trim());
endIPNum[i] = Long.parseLong(endIPArray[i].trim());
}
// 各个数字乘以相应的数量级
long startIPNumTotal = startIPNum[0] * 256 * 256 * 256 + startIPNum[1] * 256 * 256 + startIPNum[2] * 256
+ startIPNum[3];
long endIPNumTotal = endIPNum[0] * 256 * 256 * 256 + endIPNum[1] * 256 * 256 + endIPNum[2] * 256 + endIPNum[3];
if (startIPNumTotal > endIPNumTotal) {
return false;
} else {
return true;
}
}
2:对比
//前面的看不懂都不重要,重点在这里,参数ip就是你要验证的ip,而startIp 和 endIp 就是你要验证的区间。 如果ip 是在startIp 和 endIp 之中那么就会返回true ,如果不在就会返回false.
String ip = "192.168.0.03";
boolean bs = validateIP(startIp,ip);
boolean be = validateIP(ip,endIp);
if(bs&&be){
return true;
}