2016-06-30 14 views
1

考えると2つのIPv6は、文字列形式IEのアドレス "2001:0DB8:0000:0000:8328:0042:FF00 0000" と "2001:0000:0DB8 0000:0042:8329 FF00 0000"JavaScriptあるIPv6アドレスが別の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

アドレスを ":"変換すると、各用語はそれぞれ16進数という値になります。

各文字列の最終結果を比較します。

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

サードパーティライブラリを使用しても構わない場合は、ip-addressです。

関連する問題