input框保持兩位小數

HTMLthis

<div class="col-md-4">
    <div class="form-group has-feedback row">
        <div class="col-md-6 orderMsgRight">
            <label>預計我方投資金額(萬元):</label>
        </div>
        <div class="col-md-6 orderMsgLeft">
            <input name="investBudget" autocomplete="off" class="num" placeholder="請保留兩位小數" onkeyup="clearNoNum(this)" type="text" id="investbudget" th:value="${estimated_cost}">
        </div>
    </div>
</div>

 

jsspa

 1 //控制只能輸入小數點後2位
 2 function clearNoNum(obj) {  3     obj.value = obj.value.replace(/[^\d.]/g, ""); //清除「數字」和「.」之外的字符 
 4     obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一個. 清除多餘的 
 5     obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");  6     obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能輸入兩個小數 
 7     if (obj.value.indexOf(".") < 0 && obj.value != "") { //以上已通過濾,此處控制的是若是沒有小數點,首位不能爲相似於 0一、02的金額 
 8         obj.value = parseFloat(obj.value);  9  } 10 } 11 //失去焦點時再校驗一遍 
12 $(".num").blur(function() { 13     var vl = this.value; 14     var reg = new RegExp("^[0-9]+(.[0-9]{2})?$"); 15     var boo = reg.test(vl); 16     if (boo) { 17         this.value = Number(this.value).toFixed(2); 18     } else { 19         $(this).val(""); 20  } 21 
22 });
相關文章
相關標籤/搜索