//数字校验,保留两位小数
function onlyNonNegative(obj) {
var inputChar = event.keyCode;
//alert(inputChar );
//1.判断是否有多于一个小数点
if(inputChar==190 || inputChar==110) {//输入的是否为.
var index1 = obj.value.indexOf(".") + 1;//取第一次出现.的后一个位置
var index2 = obj.value.indexOf(".",index1);
while(index2!=-1) {
obj.value = obj.value.substring(0,index2);
index2 = obj.value.indexOf(".",index1);
}
}
//2.如果输入的不是.或者不是数字,替换 g:全局替换
obj.value = obj.value.replace(/[^(\d|.)]/g,"");
//3.小数点后保留2位
if(index2!=-1){
var len = obj.value.substring(obj.value.indexOf(".")).length-1;
if(len>2)obj.value = obj.value.substring(0,obj.value.indexOf(".")+3); //只保留小数点后两位
}
}
原文:http://www.cnblogs.com/dymen/p/5112670.html