简介
ipaddr.js 是一个用于处理 IP 地址的 JavaScript 库,可以方便地将 IPv4 和 IPv6 的地址转换为各种格式,并进行地址验证和子网掩码计算等操作。它是一个开源的 npm 包,可以在 Node.js 和浏览器环境下使用。
安装
你可以通过 npm 来安装 ipaddr.js:
--- ------- ---------
如果你想在浏览器端使用,可以使用以下方式引入:
------- -------------------------------------------------------------------------
使用方法
导入模块
在 Node.js 中导入 ipaddr.js:
----- ------ - ---------------------
在浏览器中,ipaddr.js 已经被定义在全局命名空间中,因此无需导入。
创建 IP 对象
你可以使用 ipaddr.parse()
方法来创建一个 IP 对象:
----- ---- - ---------------------------- ----- ---- - ----------------------------
转换 IP 地址格式
ipaddr.js 可以将 IP 地址格式转换为各种形式:
--------------------- -- ------------- --------------------- -- ------------- ----------------- -- ------------- ----------------- -- ---------------------- -------------------------- -- ------------- ---------------- -- -------------
验证 IP 地址
可以使用 ipaddr.isValid()
方法来验证一个字符串是否为有效的 IP 地址:
------------------------------ -- ---- ------------------------------ -- ---- ---------------------- -- -----
判断 IP 类型
你可以使用 ipaddr.IPv4.isIPv4()
和 ipaddr.IPv6.isIPv6()
来判断 IP 地址的类型:
------------ -- ------ ------------ -- ------ ---------------------------------- -- ---- ---------------------------------- -- ----
获取子网掩码相关信息
你可以使用 ipaddr.parseCIDR()
方法来获取 IP 地址的 CIDR 表示法,并使用 ipaddr.subnetMaskFromPrefixLength()
方法来获取子网掩码:
----- ------ - ----------------------------------- ------------------ -- ---------------- ----------------------------------- -- ------------- ------------------------------------- -- --------------- ------------------------------- -- --------------- ------------------ -- --- --------------------------------------------- -- ---- ----- ---- - -------------------------------------- ---------------- -- ---------------
示例代码
示例代码:
----- ------ - --------------------- ----- ---- - ---------------------------- --------------------- -- ------------- ----- ---- - ---------------------------- --------------------- -- ------------- ------------------------------ -- ---- ---------------------------------- -- ---- ----- ------ - ----------------------------------- ----------------------------------- -- ------------- ------------------------------------- -- --------------- ------------------------------- -- - ----------------------------------------------------------- ---------- ---------------------------------------------------------------------------------------