You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Vuetify校验规则实现AB-12345678格式的字母数字组合校验

Vuetify 自定义编号格式校验实现方案

最简洁的实现方式是使用正则表达式完成格式匹配,无需逐个字符判断,具体实现如下:

1. 核心正则规则

你需要的格式匹配正则为:/^[a-zA-Z]{2}-\d{8}$/,各部分含义:

  • 开头的^和结尾的$限定完整字符串匹配,避免出现前后有多余字符仍判定符合规则的情况
  • [a-zA-Z]{2}匹配2位大小写字母,若要求仅大写可修改为[A-Z]{2}
  • -匹配固定连字符
  • \d{8}匹配8位数字

2. Vuetify 规则绑定代码

模板部分

<v-text-field
  v-model="serialNumber"
  label="业务编号"
  :rules="serialNumberRules"
  placeholder="示例:AB-12345678"
></v-text-field>

规则定义部分

// Vue3 组合式API示例
const serialNumber = ref('')
const serialNumberRules = [
  value => !!value || '请输入业务编号',
  value => /^[a-zA-Z]{2}-\d{8}$/.test(value) || '格式错误,请输入 两位字母-8位数字 格式的内容'
]

// Vue2 选项式API示例
/*
export default {
  data() {
    return {
      serialNumber: '',
      serialNumberRules: [
        v => !!v || '请输入业务编号',
        v => /^[a-zA-Z]{2}-\d{8}$/.test(v) || '格式错误,请输入 两位字母-8位数字 格式的内容'
      ]
    }
  }
}
*/

额外说明

如果需要允许输入内容前后带空格,可以在校验前先调用trim()方法,修改为/^[a-zA-Z]{2}-\d{8}$/.test(value.trim())即可。

内容的提问来源于stack exchange,提问作者Qiuzman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:18:03