參考: https://www.cnblogs.com/En-summerGarden/p/10145295.html
//只能輸入整數 function Integer(obj) { if (obj.value.length == 1) { obj.value = obj.value.replace(/[^1-9]/g, '') }
else { obj.value = obj.value.replace(/\D/g, '') } } //輸入正數,最多保留一位小數 function clearNoNum(obj) { obj.value = obj.value.replace(/[^\d.]/g, '');//清除“數字”和“.”以外的字符 obj.value = obj.value.replace(/\.{2,}/g, '.');//只保留第一個. 清除多余的 obj.value = obj.value.replace('.', '$#$'); obj.value = obj.value.replace(/\./g, ''); obj.value = obj.value.replace('$#$', '.'); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d).*$/, '$1$2.$3').replace(/^\./g, '');//只能輸入兩個小數 且首位不能是 . if (obj.value.indexOf(".") < 0 && obj.value != "") {//以上已經過濾,此處控制的是如果沒有小數點,首位不能為類似於 01、02的數字 obj.value = parseFloat(obj.value); } }
//輸入數字(可為負數),最多保留一位小數
function negativeclearNoNum(obj) {
obj.value = obj.value.replace(/[^\d.-]/g, ""); //清除"數字"和"."以外的字符
obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一個, 清除多余的
obj.value = obj.value.replace(/\-{2,}/g, "-"); //只保留第一個, 清除多余的
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d).*$/, '$1$2.$3'); //最多一位小數
if (obj.value.indexOf(".") < 0 && obj.value != "") {//以上已經過濾,此處控制的是如果沒有小數點,首位不能為類似於 01、02的數字
if (obj.value != "-") {
obj.value = parseFloat(obj.value);
}
}
}