验证的数字可以是诸如 123.56, 653.3 , 123 , 12345678 , 12345678.90 , 0 , 其他类型的验证不通过
validateMoney(rule, value, callback) {
let reg = /^0\.[0-9]{1,2}$|^0$|^[1-9]\d{0,7}\.\d{1,2}$|^[1-9]\d{0,7}$/;
if (!reg.test(value)) {
callback(new Error("请最多输入八位整数和两位小数的金额"));
} else {
callback();
}
},
备注:正则表达式中的各部分解释:
^0\.[0-9]{1,2}$ 验证0.12类型的,并且小数是两位数;
^0$| 验证数字 0
^[1-9]\d{0,7}\.\d{1,2}$ 验证456.32 类型的,并且第一位不能是0,小数是两位;
^[1-9]\d{0,7}$ 验证全是整数的数字;
上面这样写有些重复;优化一下------ >>>>>>>
/^0(\.[0-9]{1,2})*$|^[1-9]\d{0,7}(\.\d{1,2})*$/
如有不对,请指正,