大幅度发
document.getElementById('amount').onkeyup = function () { changeNum(this); } function changeNum(obj) { obj.value = obj.value.replace(/[^\d+.-]/g, ""); //清除"数字"、"."、"+"、"-"号以外的字符 obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是.字 //obj.value = obj.value.replace(/^[0]/g, "");//验证第一个字符是0字 obj.value = obj.value.replace(/00/g, "0"); //验证第一个是多个0(只保留第一个0, 清除多余的0) obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个".", 清除多余的 obj.value = obj.value.replace(/\-{2,}/g, "-"); //只保留第一个"-", 清除多余的 obj.value = obj.value.replace(/\+{2,}/g, "+"); //只保留第一个"+", 清除多余的 obj.value = obj.value.replace(/\+\-/g, "+"); //只保留第一个"+", 清除多余的"-" obj.value = obj.value.replace(/\-\+/g, "-"); //只保留第一个"-", 清除多余的"+" obj.value = obj.value.replace(/[0-9]+\+/g, ""); //数字后面不准许输入"+" obj.value = obj.value.replace(/[0-9]+\-/g, ""); //数字后面不准许输入"-" obj.value = obj.value.replace(/\.[0-9]*\+/g, "."); //去除"."号后面的"+" obj.value = obj.value.replace(/\.[0-9]*\-/g, "."); //去除"."号后面的"-" obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数 } //js限制只能输入两位小数,js输入金钱 function setnum(that) { //只保留数字和点("."),其余的字符都去掉 that.value = that.value.replace(/[^\d.]/g, ""); //只保留第一个点("."),有两个点(".")只保留一个 that.value = that.value.replace(/\.{2,}/g, "."); //把点(".")进行转换防止被正则表达式抹掉 that.value = that.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); //限制只能输入两位小数 that.value = that.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); if (that.value.indexOf(".") < 0 && that.value != "") {//限制首位不能是0 that.value = parseFloat(that.value); } }