【发布时间】:2021-03-23 03:04:16
【问题描述】:
当我输入这样的输入时,我需要一个行为:
- 只有数字可以输入
- 输入的最后两位数字与前面的数字用点隔开
例如:键盘输入“5” - 显示在输入“0.05”中。键盘输入“1005” - 显示在输入“10.05”中。
这就是我现在拥有的:
Vue.directive('format', {
bind(el: HTMLElement, binding: any, vnode: VNode) {
const { modifiers } = binding;
const targetElement = el;
if (modifiers.cost) {
targetElement.addEventListener('input', (e: any) => {
e.target.value = e.target.value.replace(/[^0-9]/g, '');
});
}
},
update(el: HTMLElement, binding: any, vnode: VNode) {
const { modifiers } = binding;
const targetElement = el;
if (modifiers.cost) {
targetElement.addEventListener('input', (e: any) => {
e.target.value = e.target.value.replace(/[^0-9]/g, '');
});
}
},
});
非常感谢您的帮助。
【问题讨论】:
标签: javascript regex vue.js input formatting