Pot.js で利用可能。 PotLite.js では利用できません。
2 つのバージョン番号を比較します。
'beta' や 'alpha' のような表記も含め、2 つのバージョン番号を比較します。
引数 ver1 と ver2 には、比較する 2 つのバージョン番号を指定します。
ver1 が ver2 より上なら 1 が返ります。
ver2 が ver1 より上なら -1 が返ります。
ver1 と ver2 が等しい場合は 0 が返ります。
引数 operator を指定すると、(ver1 operator ver2)
の条件式の結果が返ります。
比較は、ドット '.' で分解され順に評価されます。
Pot.globalize() が適応されている場合、Pot.compareVersions() が compareVersions() で実行できます。
ver1 が ver2 より上なら 1、ver2 が ver1 より上なら -1、同じ場合は 0 が返ります。
operator を指定した場合は、その条件式が 真 (true) なら true、そうでない場合 false が返ります。
function compareVersionsRepr(a, b) { var x = Pot.compareVersions(a, b); if (x == 0) { return a + ' == ' + b; } else if (x > 0) { return a + ' > ' + b; } else { return a + ' < ' + b; } } Pot.debug(compareVersionsRepr('1.0pre', '1.0')); // '1.0pre < 1.0'
debug(compareVersions('8.2.5rc', '8.2.5a')); // 1 debug(compareVersions('8.2.50', '8.2.52')); // -1 debug(compareVersions('5.3.0-dev', '5.3.0')); // -1 debug(compareVersions('4.1.0.52', '4.01.0.51')); // 1 debug(compareVersions('1.01a', '1.01')); // -1 debug(compareVersions('1.0.0', '1.0.00')); // 0 debug(compareVersions('2.1.0', '2.0.0', '<')); // false debug(compareVersions('2.1.0', '2.0.0', '>')); // true debug(compareVersions('2.1.0a', '2.1.0a', '==')); // true