1) Grundidee:
Um festzustellen, ob sich zwei IP-Adressen im selben Netzwerksegment befinden, führen Sie eine UND-Verknüpfung für ihre IP-Adressen bzw. Subnetzmasken durch. Das Ergebnis ist die Netzwerknummer. Andernfalls befinden sie sich im selben Subnetz , sie befinden sich nicht im selben Subnetz.
2) Spezifische Implementierung:
Kopieren Sie den Codecode wie folgt:
/**
* [isEqualIPAddress bestimmt, ob sich zwei IP-Adressen im selben Netzwerksegment befinden]
* @param {[String]} addr1 [Adresse eins]
* @param {[String]} addr2 [Adresse zwei]
* @param {[String]} mask [Subnetzmaske]
* @return {Boolean} [wahr oder falsch]
*/
Funktion isEqualIPAddress (addr1,addr2,mask){
if(!addr1 || !addr2 || !mask){
console.log("Jeder Parameter darf nicht leer sein");
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("Im selben Netzwerksegment");
return true;
}anders{
console.log("Nicht im selben Netzwerksegment");
return false;
}
}