function clearNoNum(obj){
obj.value = obj.value.replace(/[^\d.]/g,"");
obj.value = obj.value.replace(/^\./g,"");
obj.value = obj.value.replace(/\.{2,}/g,".");
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
function checkKeyForFloat(value, e) {
var isOK = false;
var key = window.event ? e.keyCode : e.which;
if ((key > 95 && key < 106) ||
(key > 47 && key < 60) ||
(key == 110 && value.indexOf(".") < 0) ||
(key == 190 && value.indexOf(".") < 0) ||
key == 8 || key == 9 || key == 46 || key == 37 || key == 39 ) {
isOK = true;
} else {
if (window.event) //IE
{
e.returnValue = false; //event.returnValue=false
}
else //Firefox
{
e.preventDefault();
}
}
return isOK;
}
<input type="text" id="point_text" name="point_text" value="" οnkeydοwn="checkKeyForFloat(this.value,event)" οnkeyup="clearNoNum(this)" maxlength="10" size="10">
obj.value = obj.value.replace(/[^\d.]/g,"");
obj.value = obj.value.replace(/^\./g,"");
obj.value = obj.value.replace(/\.{2,}/g,".");
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
function checkKeyForFloat(value, e) {
var isOK = false;
var key = window.event ? e.keyCode : e.which;
if ((key > 95 && key < 106) ||
(key > 47 && key < 60) ||
(key == 110 && value.indexOf(".") < 0) ||
(key == 190 && value.indexOf(".") < 0) ||
key == 8 || key == 9 || key == 46 || key == 37 || key == 39 ) {
isOK = true;
} else {
if (window.event) //IE
{
e.returnValue = false; //event.returnValue=false
}
else //Firefox
{
e.preventDefault();
}
}
return isOK;
}
<input type="text" id="point_text" name="point_text" value="" οnkeydοwn="checkKeyForFloat(this.value,event)" οnkeyup="clearNoNum(this)" maxlength="10" size="10">