前端输入金额正则判断

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

相关文章
相关标签/搜索