微信小程序input框金额输入限制

wxml

<input type="digit" bindinput="handleInput" placeholder="金额"></input>

js

  handleInput:function(e) {

      let price = e.detail.value;

      price = price.replace(/[^\d.]/g, "");  //清除“数字”和“.”以外的字符

      price = price.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的

      price = price.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");

      price = price.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数

      if (price.indexOf(".") < 0 && price != "") {//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额

          price = parseFloat(price);

      }

    return {

        value: price,

    }

  }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容