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