js 根据IP和子网掩码取IP段
时间: 2024-02-24 22:28:35 浏览: 114
根据输入IP和子网掩码计算网段小工具
5星 · 资源好评率100%
可以使用 JavaScript 中的位运算符来实现根据 IP 和子网掩码取 IP 段的功能。具体实现方法如下:
```js
function getIpRange(ip, mask) {
const ipArr = ip.split('.').map(Number);
const maskArr = mask.split('.').map(Number);
const startIpArr = ipArr.map((num, i) => num & maskArr[i]);
const endIpArr = startIpArr.map((num, i) => num | (255 ^ maskArr[i]));
const startIp = startIpArr.join('.');
const endIp = endIpArr.join('.');
return `${startIp} - ${endIp}`;
}
```
其中,`ip` 参数为 IP 地址(格式为字符串),`mask` 参数为子网掩码(格式为字符串)。函数首先将 IP 地址和子网掩码分别转换为数组,并且使用位运算符 `&` 和 `|` 来计算出 IP 段的起始 IP 和结束 IP。最后将结果拼接为字符串返回。
例如,调用 `getIpRange('192.168.1.100', '255.255.255.0')` 函数,会返回字符串 `'192.168.1.0 - 192.168.1.255'`,表示 IP 段为 `192.168.1.0` 到 `192.168.1.255`。
阅读全文