约束vue文本框中的字符串格式为yyyy-MM
时间: 2024-10-16 09:17:38 浏览: 15
在Vue中,如果你想限制输入框里的日期格式为“yyyy-MM”,可以使用`v-model`指令结合自定义的验证规则。你可以创建一个计算属性来处理这个格式检查,并使用`watch`监听`v-model`的变化。这里有一个简单的例子:
```html
<template>
<input type="text" v-model="formattedDate" placeholder="请输入年月(格式:yyyy-MM)">
</template>
<script>
export default {
data() {
return {
dateInput: '', // 用户输入的原始字符串
formattedDate: '', // 格式化后的字符串
};
},
watch: {
dateInput(newVal) {
this.formattedDate = newVal ? newVal.replace(/(\d{4})-(\d{2})/, '$1-$2') : '';
},
},
computed: {
validatedDate() { // 计算属性,用于显示有效格式的日期
const validFormat = /^\d{4}-\d{2}$/; // 正则表达式匹配格式
return this.formattedDate && validFormat.test(this.formattedDate) ? this.formattedDate : null;
}
},
};
</script>
```
在这个例子中,当用户输入不符合格式的内容时,`validatedDate`将不会包含值。如果想在表单提交前强制验证,可以在`methods`里添加一个函数来做这一步。
阅读全文