Inspiré de cette page. J’y ai ajouté la vérification qu’il n’y ait qu’un seul point « . ».
function isNumeric(sText) { var sValidChars = "0123456789."; var isNumber = true; var iNumDots = 0; var c; for (i = 0; i < sText.length && isNumber == true; i++) { c = sText.charAt(i); if (c == ".") iNumDots++; if (sValidChars.indexOf(c) == -1 || iNumDots > 1) { isNumber = false; } } return isNumber ; }