/**
* ipv6 比较两个值的大小
* @param ip1 ipv6地址的字符串
* @param ip2 ipv6地址的字符串
* @returns 1表示第一个地址大于第二个地址,0表示两个地址相同,-1表示第一个地址小于第二个地址
*/
ipSrv.compareIpSix=function(ip1, ip2) {
let ip1s = ip1.split(’:’);
let ip2s = ip2.split(’:’);
for (let i = 0; i < ip1s.length; i++) {
if (ip1s[i] == ‘’) {
if (ip2s[i] == ‘’) { //对应的项都为空,往下比较
continue;
} else {
return -1;
}
} else {
if (ip2s[i]=="") {
return 1;
} else { //确定对应的项不为空,将字符串转换为整数进行比较
let value1 = parseInt(ip1s[i], 16);
let value2 = parseInt(ip2s[i], 16);
if (value1 > value2) {
return 1;
} else if (value1 < value2) {
return -1;
} else {
continue;
}
}
}
}
//循环结束,表示两个地址相同
return 0;
}
02-02
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交