在javascript或jquery中从起点和终点创建ip范围

时间:2014-04-08 04:04:30

标签: javascript jquery

我有启动IP地址和结束IP地址。我想在这些ip地址之间创建范围。

例如:

start = '10.10.1.0'
end = '10.10.10.10'

输出必须像。

10.10.1.0
10.10.1.1
10.10.1.2
...
...
10.10.1.255
10.10.2.0
10.10.2.1
...
...
10.10.10.9
10.10.10.10

JavaScript中有没有提供起始和结束IP地址范围的对象?

2 个答案:

答案 0 :(得分:3)

查看十六进制的IP地址在这里非常有用。周期之间的每个数字称为两个“八位字节”,这意味着16位的分组。每个数字的最大值为255,或十六进制为0xFF。您的 10.10.1.0 的起始地址以十六进制表示为 0x0A0A0100 。您的结束地址是 0x0A0A0A0A

我已经编写了一个JSFiddle来向您展示一旦用十六进制表示它们,通过IP地址计算是多么简单。

http://jsfiddle.net/sL7VM/

以下是代码中最重要的部分:

for(var i = 0x0A0A0100; i < 0x0A0A0A0A; i++)
{   
    var oc4 = (i>>24) & 0xff;
    var oc3 = (i>>16) & 0xff;
    var oc2 = (i>>8) & 0xff;
    var oc1 = i & 0xff;

    $('#output').append(oc4 + "." + oc3 + "." + oc2 + "." + oc1 + "<br>");
}

答案 1 :(得分:2)

除了在&#34;上分割开头和结尾之外,没有办法在原生javascript中执行此操作。&#34; char然后创建一个循环。它可以通过图书馆实现。

你看过这个吗? https://code.google.com/p/iplib-js/