val = val.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
val = val.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
val = val.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数
if (val.indexOf(".") < 0 && val != "") {//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
val = parseFloat(val);
}
// 解决首位直接输入 '小数点'问题
if (val.length == 1 && val.charAt(0) == '.') {
val = '';
} else if (val.length > 1 && val.charAt(0) == '.') {
val = val.substring(1, val.indexOf(".") + 3);
} else if (val.length > 1 && val.charAt(0) == '.' && val.charAt(1) == '0') {
val = val.substring(val.indexOf('0') + 1, val.length)
}
if (val > 49.99) {//
val = '49.99'
}
if (!val || val == '0' || val == '0.0' || val == '0.00') {
return;
}