19 lines
469 B
JavaScript
19 lines
469 B
JavaScript
|
|
import Vue from "vue";
|
||
|
|
|
||
|
|
Vue.directive("checkNum", {
|
||
|
|
update(el, binding, vNode) {
|
||
|
|
if (el.children.length) {
|
||
|
|
let val = el.children[0].value;
|
||
|
|
let qualifiedNum = val
|
||
|
|
.replace(/[^\d.]/g, "")
|
||
|
|
.replace(/^\./g, "")
|
||
|
|
.replace(/\.{2,}/g, ".")
|
||
|
|
.replace(/^0{2,}/g, "0")
|
||
|
|
.replace(".", "$#$")
|
||
|
|
.replace(/\./g, "")
|
||
|
|
.replace("$#$", ".");
|
||
|
|
vNode.componentInstance.$emit("input", qualifiedNum);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
});
|