工作中input='text'總會遇到要控制輸入數字,或者是輸入中文,輸入電話,輸入身份證號,郵箱等。今天我遇到的是要輸入數字並且只能小數點后面兩位的數字,還不能為負數。廢話不多說上代碼:
<input id="testinput" onkeyup="clearNoNum(this)" />
script代碼部分:
//控制只能輸入小數點后2位 function clearNoNum(obj) { obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“數字”和“.”以外的字符 obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一個. 清除多余的 obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能輸入兩個小數 if (obj.value.indexOf(".") < 0 && obj.value != "") {//以上已經過濾,此處控制的是如果沒有小數點,首位不能為類似於 01、02的金額 obj.value = parseFloat(obj.value); } }
