version parsing
by gwatts
HTML
<input id="num1">
<input id="num2">
<br> <span id="result1"></span>
<span id="compare"></span>
<span id="result2"></span>
JavaScript
// parse a version with non-digits (don't use)
function parseVersion1(v) {
var result = '';
v = v.split('.');
for (var i = 0; i < v.length; i++) {
n = parseInt(v[i], 10).toString();
if (n == v[i]) {
result += new Array(4 - n.length + 1).join('0') + n;
} else {
result += '0000' + v[i];
}
}
return result;
}
// Parse a version with only digits
function parseVersion2(v) {
var result = '';
v = v.split('.');
for (var i = 0; i < v.length; i++) {
n = parseInt(v[i], 10).toString();
result += new Array(4 - n.length + 1).join('0') + n;
}
return result;
}
$(function () {
var changed = function () {
var val1 = parseVersion2($('#num1').val());
var val2 = parseVersion2($('#num2').val());
$('#result1').text(val1);
$('#result2').text(val2);
if (val1 == val2) {
$("#compare").text('equals');
} else {
$('#compare').text(val1 < val2 ? 'is less than' : 'is greater than');
}
};
$('#num1').change(changed);
$('#num2').change(changed);
});
console.log(parseVersion('1.2.3'));