<script> import{post as httpPost,get as httpGet} from "@/request"; export default{ data(){ return{ form:{ htje:0 }, rules: { htje: [ { required: true, message: "请输入金额", trigger: "change" }, { pattern: /^(([1-9]{1}d*)|(0{1}))(.d{1,2})?$/, message: "请输入合法的金额数字,最多两位小数", trigger: "change" } ] } }; }, computed:{}, created(){}, methods:{} }; </script>
最多两位数的金额正则表达式是
^(([1-9]{1}d*)|(0{1}))(.d{1,2})?$
一、小数点前面开头
1、不以0开头:
([1-9]{1}d*)
2、以0开头的时候可能是0,或者零点几的小数
(0{1})
所以1和2是或者的关系:
([1-9]{1}d*)|(0{1})
二、小数点及小数位限制
如果有小数点,那么小数点后面一定要至少带一个数字;小数点可有可无
(.d{1,2})?
三、结合
(([1-9]{1}d*)|(0{1}))(.d{1,2})?
要开头和结尾都是数字才行,要不然会匹配中间符合上面正则的字符串,加上^和$
^(([1-9]{1}d*)|(0{1}))(.d{1,2})?$