Vue 自定义输入框组件校验金额

<body>
  <div id="app">
    <amount-input :value="amount" @change="onChange"></amount-input>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
  <script>
    Vue.component('amount-input', {
      template: '<input :value="value" @change="updateVal($event.target.value)" type="text">',
      props: ["value"],
      methods: {
        updateVal: function(val) {
          this.$emit('change', val);
        }
      }
    });
    const app = new Vue({
      el:"#app",
      data:{
      },
      components:{
      },
      methods: {
        onChange: function(val) {
          // alert(val)
          const exp = /(^([-]?)[1-9]([0-9]+)?(\.[0-9]{1,6})?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]([0-9])?$)/;
          if (!exp.test(val)) {
            alert('不符合金额规则')
          }
          this.amount = val;
        }
      }
    })
  </script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值