使用 JavaScript 统计两个 IP 地址之间的 IP 地址数
问题
我们需要编写一个 JavaScript 函数,该函数接收两个 IPv4 地址,并返回它们之间的地址数(包括第一个地址,但不包括最后一个地址)。
这可以通过将它们转换为十进制并找到它们的绝对差来完成。
示例
以下是代码 −
const ip1 = '20.0.0.10';
const ip2 = '20.0.1.0';
const countIp = (ip1, ip2) => {
let diff = 0;
const aIp1 = ip1.split(".");
const aIp2 = ip2.split(".");
if (aIp1.length !== 4 || aIp2.length !== 4) {
return "Invalid IPs: incorrect format";
}
for (x = 0; x < 4; x++) {
if (
isNaN(aIp1[x]) || isNaN(aIp2[x])
|| aIp1[x] < 0 || aIp1[x] > 255
|| aIp2[x] < 0 || aIp2[x] > 255
) {
return "Invalid IPs: incorrect values"
}
diff += (aIp1[x] - aIp2[x]) * (256 * (3-x));
}
return Math.abs(diff);
};
console.log(countIp(ip1, ip2));输出
以下是控制台输出 −
256
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP