Chinaunix首页 | 论坛 | 博客
  • 博客访问: 463670
  • 博文数量: 141
  • 博客积分: 211
  • 博客等级: 入伍新兵
  • 技术积分: 1049
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-17 16:25
个人简介

如此经年,望尽千帆。

文章分类

全部博文(141)

文章存档

2014年(73)

2013年(65)

2012年(3)

我的朋友

分类: JavaScript

2013-12-14 08:53:53

要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号。
 
1)基本思路: 
要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网。 


2)具体实现: 

  1. /**
  2. * [isEqualIPAddress 判断两个IP地址是否在同一个网段]
  3. * @param {[String]} addr1 [地址一]
  4. * @param {[String]} addr2 [地址二]
  5. * @param {[String]} mask [子网掩码]
  6. * @return {Boolean} [true or false]
  7. */
  8. function isEqualIPAddress (addr1,addr2,mask){
  9. if(!addr1 || !addr2 || !mask){
  10. console.log("各参数不能为空");
  11. return false;
  12. }
  13. var
  14. res1 = [],
  15. res2 = [];
  16. addr1 = addr1.split(".");
  17. addr2 = addr2.split(".");
  18. mask = mask.split(".");
  19. for(var i = 0,ilen = addr1.length; i < ilen ; i += 1){
  20. res1.push(parseInt(addr1[i]) & parseInt(mask[i]));
  21. res2.push(parseInt(addr2[i]) & parseInt(mask[i]));
  22. }
  23. if(res1.join(".") == res2.join(".")){
  24. console.log("在同一个网段");
  25. return true;
  26. }else{
  27. console.log("不在同一个网段");
  28. return false;
  29. }
  30. }
阅读(697) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~