Мне нужна маска для ввода, которая должна иметь формат dddd-ddd (почтовый индекс Portuguse), мне не хочется импортировать библиотеку только для этого ввода.
Это то, что у меня сейчас есть:
new Vue({
el: '#app',
data: {
zip_code: '2770-315'
},
computed: {
mask_zip_code: {
get: function() {
return this.zip_code;
},
set: function(input) {
input = input.replace(/[^0-9-]/g, "");
if(input.length >= 4) {
input = input.substr(0, 4)+'-'+input.substr(5); // in case people type "-"
}
this.zip_code = input;
}
}
}
})
<script src="https://unpkg.com/vue"></script>
<div id="app">
<input v-model="mask_zip_code" maxlength="8">
</div>
Вы можете видеть, что поведение немного странное и позволяет также печатать буквы.