yinghe-lowcode-zln
Version:
基于vue、ant-design-vue,datagrid的低代码平台
95 lines (49 loc) • 2.94 kB
JavaScript
/*
* @Descripttion:
* @version:
* @Author: congsir
* @Date: 2021-05-28 23:53:07
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-06-01 14:40:25
*/
import Vue from 'vue'
Vue.directive('Int', {
inserted: function (el) {
const input = el.getElementsByTagName("input")[0]; //注意这里element与ant不同 ant为 const input = el.querySelector(el);
input.onkeyup = function (e) {
if (input.value != '') {
el.getElementsByTagName("span")[0].style.display = 'none'
} else {
el.getElementsByTagName("span")[0].style.display = 'block'
}
input.value = input.value.replace(/[^\d\.]/g, '')
input.value = input.value.replace(/^\./g, '')
input.value = input.value.replace(/\.{2,}/g, '.')
input.value = input.value.replace(/\.{2,}/g, '.')
input.value = input.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
input.value = input.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
if (input.value == '00') { //输入 000000 时,转成 0
input.value = 0
}
}
input.onblur = function (e) {
input.value = input.value.replace(/[^\d\.]/g, '')
input.value = input.value.replace(/^\./g, '')
input.value = input.value.replace(/\.{2,}/g, '.')
input.value = input.value.replace(/\.{2,}/g, '.')
input.value = input.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
input.value = input.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
if (input.value == '0') { //输入0的时候转成空 或者可自行调节 0.00 看需求
input.value = ''
}
if (input.value.split('.')[1] == '') {
input.value = input.value.split('.')[0]
}
if (input.value.substr(0, 1) == "0" && input.value.substr(1, 1) != ".") { //把 0123456 的数据转成 123456
input.value = input.value.substr(1, input.value.length - 1)
}
}
}
});