给出两个字符串格式的IPv6地址,即“2001:0db8:0000:0000:0000:ff00:0042:8328”和“2001:0db8:0000:0000:0000:ff00:0042:8329”
如何测试一个是否大于另一个? IPv4很容易,转换成整数值并进行比较,但是IPv6数字太大而变得不可行。
答案 0 :(得分:0)
将地址替换为“:”,将每个术语单独转换为十六进制值。
比较每个字符串的最终结果。
function toHex(str) {
var hex = '';
for(var i=0;i<str.length;i++) {
hex += ''+str.charCodeAt(i).toString(16);
}
return hex;
}
答案 1 :(得分:0)
删除:
并对整个字符串执行hexa比较。
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
答案 2 :(得分:0)
如果您不介意使用第三方库,那就是ip-address。