判断某IP是否在某个网段
2009-03-20 10:08
344 查看
判断某个IP如192.168.3.54是否在192.168.1.1-192.168.36.1这个网段的程序
package filereader; public class ipTest { boolean i; 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("192.168.1.1-192.168.36.1", "192.168.3.54")) { System.out.println("ip属于该网段"); } else System.out.println("ip不属于该网段"); } }
相关文章推荐
- 用asp判断某IP是否属于某网段的另类算法
- 如判断这两个IP是否属于同一网段
- 判断两个IP大小及是否在同一个网段中
- IPy判断IP是否属于某个网段,网段间的重叠关系
- 判断两个IP大小关系及是否在同一个网段中
- 用asp判断某IP是否属于某网段的另类算法
- 判断某一ip地址是否属于某一ip网段的脚本
- 用asp判断某IP是否属于一个网段的另类算法
- 通过子网掩码判断两个IP是否在同一网段
- 如何判断两个IP大小关系及是否在同一个网段中
- java判断ip是否在同一个网段上
- 判断两个IP大小及是否在同一个网段中
- java判断某个ip是否在一个网段内 ip/mask IP+掩码
- Javascript 判断两个IP是否在同一网段实例代码
- 判断ip列表是否在某系列子网段
- 判断两个IP是否在同一网段
- java判断某个ip是否在一个网段内
- c++实现ip是否在同一个网段的判断
- 如何判断两个IP是否在同一网段
- 如何判断两个IP是否在同一网段