gpt4 book ai didi

javascript - 如何检测给定 IP 是否在 Javascript 中的给定子网中?

转载 作者:可可西里 更新时间:2023-11-01 02:33:43 25 4
gpt4 key购买 nike

我想用 Javascript 编写一个函数:

in_subnet(ip, network, slash) {
...
}

in_subnet('1.2.3.4', '1.2.0.0', 16) # True, since it's in 1.2.0.0/16
in_subnet('1.2.3.4', '1.2.0.0', 24) # False, since it's not in 1.2.0.0/24

我应该从头开始编写,还是可以使用一些好的库?或者整个功能是否已经编写并在公共(public)领域?

最佳答案

伪代码,基于 dustin 的回答:

addr_one = ip_addr_to_integer(ip);
addr_two = ip_addr_to_integer(network);
mask = ((1 << (32-slash)) - 1) ^ 0xFFFFFFFF;
return (((addr_one ^ addr_two) & mask) == 0);

如果您知道 IP 地址字符串是有效的,您可能可以使用 string.split('.') 来获取四个八位字节并轻松将它们转换为整数。

关于javascript - 如何检测给定 IP 是否在 Javascript 中的给定子网中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/402341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com