• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

微信小程序表单输入框,输入时限定小数点后面2位

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 // 必加,不然输入框可以输入多位小数
  }})
Name:
<提交>