package com.joe.utilities.common.util; public class IPText { public static boolean ipIsValid(String ipSection, String ip) { if (ipSection == null) throw new NullPointerException("IP�β���Ϊ�գ�"); if (ip == null) throw new NullPointerException("IP����Ϊ�գ�"); ipSection = ipSection.trim(); ip = ip.trim(); final String REGX_IP = "((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)"; final String REGX_IPB = REGX_IP + "\\-" + REGX_IP; if (!ipSection.matches(REGX_IPB) || !ip.matches(REGX_IP)) return false; int idx = ipSection.indexOf('-'); String[] sips = ipSection.substring(0, idx).split("\\."); String[] sipe = ipSection.substring(idx + 1).split("\\."); String[] sipt = ip.split("\\."); long ips = 0L, ipe = 0L, ipt = 0L; for (int i = 0; i < 4; ++i) { ips = ips << 8 | Integer.parseInt(sips[i]); ipe = ipe << 8 | Integer.parseInt(sipe[i]); ipt = ipt << 8 | Integer.parseInt(sipt[i]); } if (ips > ipe) { long t = ips; ips = ipe; ipe = t; } return ips <= ipt && ipt <= ipe; } public static void main(String[] args) { if (ipIsValid("211.90.0.0-211.97.255.255", "211.93.5.255")) { System.out.println("ip���ڸ����"); } else { System.out.println("ip�����ڸ����"); } } } // //61.240.0.0 - 61.243.255.255 //210.78.160.0 - 210.78.255.255 //211.90.0.0 - 211.97.255.255 //211.145.128.0 - 211.145.255.255 //220.192.183.0 - 220.192.215.255 //220.193.0.0 - 220.207.255.255 //117.128.0.0 - 117.191.255.255 //120.192.0.0 - 120.255.255.255 //211.103.0.0 - 211.103.127.255 //211.136.0.0 - 211.143.255.255 //211.154.128.0 - 211.154.159.255 //218.200.0.0 - 218.207.255.255 //220.231.128.0 - 220.231.255.255 //221.130.0.0 - 221.131.255.255 //221.176.0.0 - 221.183.255.255