判斷IP是否內網,看了網上很多是用截斷字符床,轉數字判斷,這些都是坑,慢慢慢,一切從速度優化看,用正則......
不多說,代碼如下
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public static boolean innerIP(String ip) {
Pattern reg = Pattern.compile("^(127\\.0\\.0\\.1)|(localhost)|(10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})|(172\\.((1[6-9])|(2\\d)|(3[01]))\\.\\d{1,3}\\.\\d{1,3})|(192\\.168\\.\\d{1,3}\\.\\d{1,3})$");
Matcher match = reg.matcher(ip);
return match.find();
---------------------