您的位置
主页 > 网站技术 > 语言编程 > » 正文

javascript判断两个IP地址是否在同一个网段的实现思路

来源: 站长圈 点击:

要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,具体实现如下,需要的朋友可以参考一下,希望对大家有所帮助!

(1)基本思路: 

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

(2)具体实现: 

复制代码 代码如下:

/** 

* [isEqualIPAddress 判断两个IP地址是否在同一个网段] 

* @param {[String]} addr1 [地址一] 

* @param {[String]} addr2 [地址二] 

* @param {[String]} mask [子网掩码] 

* @return {Boolean} [true or false] 

*/ 

function isEqualIPAddress (addr1,addr2,mask){ 

if(!addr1 || !addr2 || !mask){ 

console.log("各参数不能为空"); 

return false; 

var 

res1 = [], 

res2 = []; 

addr1 = addr1.split("."); 

addr2 = addr2.split("."); 

mask = mask.split("."); 

for(var i = 0,ilen = addr1.length; i < ilen ; i += 1){ 

res1.push(parseInt(addr1[i]) & parseInt(mask[i])); 

res2.push(parseInt(addr2[i]) & parseInt(mask[i])); 

if(res1.join(".") == res2.join(".")){ 

console.log("在同一个网段"); 

return true; 

}else{ 

console.log("不在同一个网段"); 

return false; 




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明