首頁 >web前端 >js教程 >javascript判斷兩個IP位址是否在同一個網段的實作思路_javascript技巧

javascript判斷兩個IP位址是否在同一個網段的實作思路_javascript技巧

WBOY
WBOY原創
2016-05-16 17:09:252162瀏覽

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 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;
}
}
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn