Foolproof number validation
Personally I'm not sure why you're working so hard...

function validateNumber(valueToCheck) {
    return !isNaN(Number(valueToCheck));
}


or the more complete version from the question you've linked:

function validateNumber(n) {
    return !isNaN(parseFloat(n)) &amp;&amp; isFinite(n);
}


JavaScript already has a number parser.

This will allow values like '42', '1.456', '1.456e3', [42], etc. All valid Numbers.

And it passes your test suite better than the original: http://jsfiddle.net/nL4L13k2/4/ and http://jsfiddle.net/nL4L13k2/5/