输入值只能为大于0或者正数,两位小数,其他符号不可输入。

1.运用简单正则
 let reg =/(^[1-9]{1}[0-9]*$)|(^[0-9]*\.[0-9]{2}$)/;
 reg.test(vlue);复制代码
2.在vue2.0和vux组件情况下应用上面正则判断金额:不为空,并且只能为大于0或者正数,两位小数,其他符号不可输入
</template>
  <x-input :placeholder="moneyPlaceholder"  v-model="amount" type="number"></x-input>
</template>
复制代码

 export default {
    data(){
        amount:'',//声明
    },
    watch:{
            amount: function () {    //vue数据绑定监听
                this.inhibitingInput();
                let reg =/(^[1-9]{1}[0-9]*$)|(^[0-9]*\.[0-9]{2}$)/;//为大于0或者正数,两位小数,其他符号不可输入
                (this.amount&®.test(this.amount)) ? this.effectiveFirst = true: this.effectiveFirst =false;
            }
        }
 }
复制代码

对组件感兴趣的话,可以去了解一下 vux X-inpnt

3.兼容问题vivo手机微信中打开该input没有效果,经查证可能是x-input组件问题,所以后来就乖乖换回普通input了
<input type="number" name="amount" value="" v-model="amount"/>
复制代码
Logo

前往低代码交流专区

更多推荐