前端輸入金額正則判斷

需求以下: 要求不能輸入爲空,或者輸入數字以外的其餘字符,正則不控制位數,要求能夠是小數,也能夠是整數,若是是小數不容許超太小數點後兩位。html

html代碼以下:bash

<div>
    <p> 自定義額度 :</p>
    <input type="text" v-model="form.limit" maxlength="10" :placeholder="sysLimit"  @blur="LimitRule"/>
    <div class="tRed">{{Rules.limit}}</div>
</div>
複製代碼

js代碼以下:ui

LimitRule: function() {
    //符合要求的正則以下
    //^小尖號表示開頭
    //[0-9]+ 爲一個總體
    //[0-9]表明數字0到數字9
    //+表明不限制有多少個,緊跟在[0-9]後面,表示數字的位數
    //([.]{1}[0-9]{0,2}){0,1} 爲一個總體
    //[.]{1} 表示有一個小數點
    //[0-9]{0,2}表示有0到2個數字
    //()括號括起來表示他們是一個總體,而後後面的{0,1}表示前面的總體出現0次或者1次
    //$表示結尾
    var reg = new RegExp("^[0-9]+([.]{1}[0-9]{0,2}){0,1}$");
    var val = this.form.limit;
    if (val == '') {
        this.Rules.limit = "額度不能爲空";
    } else if (!reg.test(val)) {
        this.Rules.limit = "額度格式錯誤";
    } else {
        this.Rules.limit = "";
    }
},
複製代碼

親測有效,有錯誤歡迎你們指出,嘿嘿this

相關文章
相關標籤/搜索