- 开发无止境 -
Data: 2021-04-08 09:41:22Form: JournalClick: 10
效果图
腾讯视频效果图地址
index.wxml
<input type="digit" class="product-num" bindinput='onInputEvent' placeholder="出货数量" value='{{inputVal}}' maxlength="8" /> <input type="digit" class="product-num" bindinput='onInputEventObj' placeholder="进货数量" value='{{arr.inputVal}}' maxlength="8" />
index.js
Page({ data: { inputVal :'', arr:{ inputVal :'', } }, PointNum: function(obj) { obj = obj.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符 obj = obj.replace(/^\./g, ""); //验证第一个字符是数字 obj = obj.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的 obj = obj.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); obj = obj.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数 if (obj.indexOf(".") < 0 && obj != "") { //以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 obj = parseFloat(obj); } if (!obj || obj == '0' || obj == '0.0' || obj == '0.00') { return; } return obj; }, onInputEvent(e) { this.setData({ inputVal : this.PointNum(e.detail.value) }) return // 必加,不然输入框可以输入多位小数 }, onInputEventObj(e) { this.setData({ 'arr.inputVal' : this.PointNum(e.detail.value) }) return // 必加,不然输入框可以输入多位小数 }})