2016-06-30 25 views
1

鉴于两个IPv6字符串格式,即解决了 “2001年:将0db8:0000:0000:0000:FF00:0042:与8328” 和 “2001年:将0db8:0000:0000:0000:FF00:0042:与8329”JavaScript如何测试一个IPv6地址是否大于另一个?

如何我可以测试一个比另一个大吗? IPv4非常简单,可以转换为整数值并进行比较,但IPv6数量非常大,这变得不可行。

回答

0

删除:并为整个字符串做一个十六进制比较。

var first = "2001:0db8:0000:0000:0000:ff00:0042:8328".replace(/:/g, ""); 
var second = "2001:0db8:0000:0000:0000:ff00:0042:8329".replace(/:/g, ""); 

// compare 
0

用“:”分别替换每个项的地址为十六进制的值。

比较每个字符串的最终结果。

function toHex(str) { 
    var hex = ''; 
    for(var i=0;i<str.length;i++) { 
     hex += ''+str.charCodeAt(i).toString(16); 
    } 
    return hex; 
} 
0

如果您不介意使用第三方库,则有ip-address

相关问题