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

如何在Javascript中拆分IPV6地址以获取网络ID子网?,javascript,java,node.js,networking,ip-address,Javascript,Java,Node.js,Networking,Ip Address,我有这个“代理”发现服务,它允许用户找到他们产品的私有本地IP地址。此产品将其专用本地IP地址以及其所在网络的IPV4地址和IPV6地址上载到数据库 当该用户访问我的web应用程序(discovery.example.com)时,它将获取该用户的IPV4/IPV6地址(无论他们通过何种方式连接),并检查数据库是否存在与该IP地址匹配的内容,如果存在,则将相关的专用本地IP地址返回给该用户,然后用户在其家庭网络中拥有其产品的本地IP地址 显然,每个设备的每个IPV6地址在结尾部分都是不同的,所以我

我有这个“代理”发现服务,它允许用户找到他们产品的私有本地IP地址。此产品将其专用本地IP地址以及其所在网络的IPV4地址和IPV6地址上载到数据库

当该用户访问我的web应用程序(discovery.example.com)时,它将获取该用户的IPV4/IPV6地址(无论他们通过何种方式连接),并检查数据库是否存在与该IP地址匹配的内容,如果存在,则将相关的专用本地IP地址返回给该用户,然后用户在其家庭网络中拥有其产品的本地IP地址

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

假设我得到了一个地址(这是随机产生的,不要尝试搜索它,因为它不会导致任何结果):

我想把它分开,这样我只得到:

7g98:i9e:k897:a388
所以不管他们检查什么设备,它仍然知道它是同一个网络

谢谢。

以下是您想要的:

const ip=“7g98:i9e:k897:a388:908a:j983:d7h7:98o0”;
常数match=ip.match(/((.*):){4}/)
如果(匹配){
console.log(匹配[0]。切片(0,-1))
}
7g98:i9e:k897:a388