摘要:小數點限制兩位小數正整數限定為正整數動態添加了內容要用事件委托方式綁定下面的事件保留至多兩個小數點的數字顯示效果說明適用于多種情況判斷
HTML
小數點限制
JS
function amountInput(parent,child) { var CashingAmountLast = ""; $moneyInput = ""; //動態添加了內容 要用事件委托方式綁定下面的事件 function checkCode(code) { var codeArea = code > 57 && code < 96; if (!(code == 190 || code == 110 || code == 46 || code == 8 || code == 37 || code == 39)) { if (codeArea || code < 48 || code > 105) { return false; } } return true; } $(parent).on("keydown", child, function(e) { var code = e.keyCode, val = e.target.value; if (val.indexOf(".") > -1 && (code == 190 || code == 110)) { e.target.value = val; return false; } if (!checkCode(code)) { return false; } this.setAttribute("data-keyCode", code); return true; }).on("input",child, function(e) { var val = this.value, keyCode = this.getAttribute("data-keyCode"), reSet = false; if (e.currentTarget.validity.valid) { if (val.indexOf(".") < 0 && (keyCode == 190 || keyCode == 110)) { val += "."; } } else { val = CashingAmountLast; if ((keyCode == 190 || keyCode == 110) && val.indexOf(".") < 0) { val = Number(CashingAmountLast).toFixed(1); } reSet = true; } fixCashFn.call(this,val, reSet); }).on("blur", child,function(e) { var val = Number($(this).val()); if (!isNaN(val)) { e.target.value = val; } else { e.target.value = 0; } }); function fixCashFn(a, isReset) { let money = typeof a === "string" ? a : a.toString(), flag = false, valArr = [], _slef = this; money = money.replace(/s/g, ""); var strLen = money.length; if (isNaN(Number(money))) { flag = true; } else if (strLen > 0) { //保留至多兩個小數點的數字 if (!/^d+(?:.d{1,2})?$/.test(money) && money.charAt(strLen - 1) !== ".") { flag = true; } } if (flag) { money = CashingAmountLast; } if (isNaN(Number(money))) { money = ""; } (function() { if (money.length > 0) { valArr = money.split("."); money = Number(valArr[0]).toString().slice(0, 10); if (valArr.length > 1) { money += "." + valArr[1].slice(0, 2); } } if (money.charAt(money.length - 1) !== ".") { if (a !== money) { $(_slef).val(money); CashingAmountLast = money; } else { CashingAmountLast = a; } } if (isReset) { $(_slef).val(money); } })(); } }
顯示效果
說明
適用于多種情況判斷
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83495.html
摘要:限制數字且最多輸入小數的位數輸入的對象輸入長度最后一個字符是如果符號超過一個存在符號并且不止一位數注在調用的時候需要用原生來綁定對象日期轉換函數,可以根據需求來設置前幾天后幾天或或或或單位自動轉換單位 /** * 限制數字且最多輸入小數的位數 * @param {[type]} elem 輸入的對象 * @param {[type]} len 輸入長度 * @return...
摘要:排除直接使用的數太大或太小超出范圍,出現這種問題的情況基本是浮點數的小數部分在轉成二進制時丟失了精度,所以我們可以將小數部分也轉換成整數后再計算。 // 1. 兩數相加 // 0.1 + 0.2 = 0.30000000000000004 // 0.7 + 0.1 = 0.7999999999999999 // 0.2 + 0.4 = 0.6000000000000001 // 2.2...
閱讀 3192·2021-11-23 09:51
閱讀 1530·2021-11-22 09:34
閱讀 2841·2021-10-27 14:15
閱讀 2286·2021-10-12 10:17
閱讀 1890·2021-10-12 10:12
閱讀 952·2021-09-27 14:00
閱讀 2003·2021-09-22 15:19
閱讀 1037·2019-08-30 10:51