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 ;
}