如何拆分 IPV6 地址以获得 Javascript 中的网络 ID 子网?

How to split IPV6 address to get the Network ID subnet in Javascript?

我有这个 'broker' 发现服务,它允许用户找到他们产品的私有本地 IP 地址。此产品将其私有本地 IP 地址连同其所在网络的 IPV4 地址和 IPV6 地址上传到数据库。

当此用户访问我的网络应用程序 (discovery.example.com) 时,它将获取用户的 IPV4/IPV6 地址(无论他们通过何种方式连接)并检查数据库是否与该 IP 地址,如果 return 与用户关联的私有本地 IP 地址,则用户在其家庭网络中拥有其产品的本地 IP 地址。

显然每个设备的每个 IPV6 地址在结尾部分都会不同,所以我想知道您将如何获得 IPV6 地址的前四个字节数据(因为这是它们的网络 ID)?

说我得到这个地址(这是随机制作的,不要尝试搜索它,因为它会无处可寻):

7g98:i9e:k897:a388:908a:j983:d7h7:98o0

我想把它分开,所以我只得到:

7g98:i9e:k897:a388

所以无论他们检查什么设备,它仍然知道它是同一个网络?

谢谢。

这是你想要的:

const ip = "7g98:i9e:k897:a388:908a:j983:d7h7:98o0";

const match = ip.match(/((.*?):){4}/)
if (match) {
    console.log(match[0].slice(0,-1))
}