生命的意义在于折腾

vue输入两位小数自定义指令

javascript

1/*
2 * Auth: WANGJIAN
3 */
4directives:{
5    Float:{
6      inserted: function (el) {
7        let trigger = (el, type) => {
8          const e = document.createEvent('HTMLEvents')
9          e.initEvent(type, true, true)
10          el.dispatchEvent(e)
11        }
12
13        el.addEventListener("keyup", function (e) {
14          let input = e.target;
15          let reg = new RegExp('^((?:(?:[1-9]{1}\\d*)|(?:[0]{1}))(?:\\.(?:\\d){0,2})?)(?:\\d*)?$'); //正则验证是否是数字(小数整数均可)
16          let matchRes = input.value.match(reg);
17          if (matchRes === null) {
18            input.value = "";
19          } else {
20            //matchRes[0]是匹配的无限位的小数
21            //matchRes[1]是小数点后两位前面符合的数值
22            //如输入12.223 matchRes[0]是12.223 matchRes[1]12.22 此时input值改为matchRes[1]的值即可
23            if (matchRes[1] !== matchRes[0]) {
24              input.value = matchRes[1];
25            }
26          }
27          trigger(input, 'input')
28        });
29      }
30    }
31
32},
33
阅读量:1615发布日期:2021-06-11 16:45:06

博客描述

vue自定义指令,限制输入小数,保留两位,常用于金额输入...

留言板