Используйте регулярные выражения!
function validateNumeric() {
var val = document.getElementById("tbNumber").value;
var regex = /^[0-9\.]+$/;
if(regex.test(value))
return true
else {
alert("Please enter a valid number");
return false;
}
}
Однако это регулярное выражение допускает ввод 1.22.3.6...2
, что, вероятно, нежелательно. Вы, вероятно, хотите иметь регулярное выражение ^(\d+(\.\d+)?|\.\d+)$
Кроме того, HTML-теги должны быть в нижнем регистре, а атрибуты должны быть заключены в кавычки:
<input type="number" id="tbNumber" />
<input type="submit" name="action" value="Save Changes" onclick="return validateNumeric();" />