輸入值只能為大於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"/>
複製程式碼