【发布时间】:2019-10-25 17:06:25
【问题描述】:
我正在尝试在 vue.js 中格式化用户输入。输入代表时间 mm.ss。然后是两个数字,然后是两个数字。输入前两个数字后,点应自动出现。我能够使用 rexeg 来实现它,这是 codepen:
https://codepen.io/Marek92/pen/KKKqKjx
<div id="app">
<h1>{{ title }}</h1>
<input type="text" v-model="performance">
</div>
new Vue({
el: '#app',
data: {
title: 'Input formating!',
performance: '12.00'
},
watch: {
performance() {
this.performance = this.performance.replace(/[^0-9]/g, '')
.replace(/^(\d{2})(\d{2})?/g, '$1.$2')
.substr(0, 5);
}
}
});
但是问题在于输入是否存在。假设“12.00”,您从最后开始使用退格键删除数字。你被困在这个点上。无法删除点,这是我的问题。如何更改正则表达式以删除点?还是其他解决方案?
【问题讨论】:
标签: regex vue.js input-field