You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中将连字符格式的IP范围转换为CIDR?

Node.js实现连字符IP范围转CIDR表示法

你需要将连字符格式的IP范围(如70.103.242.28-70.103.242.30)转换为CIDR表示法,且希望使用现成库而非自行开发。以下是符合需求的解决方案:

推荐库:ip-range-to-cidr

这个npm包专门实现了IP范围到CIDR的汇总转换,完全匹配你需要的功能,无需自行处理位运算或IP解析逻辑。

使用步骤:

  1. 安装依赖:
npm install ip-range-to-cidr
  1. 代码示例:
const convertIpRangeToCidr = require('ip-range-to-cidr');

// 输入连字符格式的IP范围
const inputRange = '70.103.242.28-70.103.242.30';
// 转换为CIDR数组
const cidrList = convertIpRangeToCidr(inputRange);

// 输出结果:70.103.242.28/31, 70.103.242.30/32
console.log(cidrList.join(', '));

替代库:cidr-summarize

如果需要更灵活的IP范围处理(比如支持IPv6),可以使用cidr-summarize:

使用步骤:

  1. 安装依赖:
npm install cidr-summarize
  1. 代码示例:
const { summarizeRange } = require('cidr-summarize');

const [startIp, endIp] = '70.103.242.28-70.103.242.30'.split('-');
const cidrList = summarizeRange(startIp, endIp);

console.log(cidrList.join(', ')); // 输出目标CIDR字符串

这两个库都能实现类似Python ipaddress.summarize_address_range的功能,无需自行开发核心逻辑。

内容的提问来源于stack exchange,提问作者Zhenya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:02:36