金額常見正則校驗

weixin_34307464發表於2018-09-21

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

相關文章