加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

JavaScript解决判断两个IP是否在同一网络段的方案

发布时间:2023-08-23 15:09:35 所属栏目:教程 来源:
导读:javascript判断两个IP地址是否在同一个网段的实现思路

1)基本思路:

要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,
javascript判断两个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;
 
}
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章