需求以下: 要求不能输入为空,或者输入数字以外的其余字符,正则不控制位数,要求能够是小数,也能够是整数,若是是小数不容许超太小数点后两位。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