输入值只能为大于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"/>
复制代码
所有评论(0)