<input type="text" onInput="clearNoNum(this)" >
//需引入jquery
<script>
function clearNoNum(obj){
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
//保证 数字整数位不大于8位
if(<=parseFloat(obj.value))
obj.value = "";
}
</script>