如何使用正则表达式在 Vue3 中为车辆登记号创建输入字段掩码?

问题描述

如何在 Vue3 中使用车辆登记号的正则表达式创建输入字段掩码?我找到了屏蔽电话号码的解决方案,但是当我将正则表达式与字母混合使用时,它根本不起作用。

是否可以为 AAA-000 之类的东西创建掩码,即前三个输入为字母,后三个输入为以“-”分隔的数字?

答案:

丹尼尔的回答对我来说就像魅力一样。只要有人在这里搜索相同的链接https://github.com/beholdr/maska

解决方法

字段验证不仅仅是确保正则表达式有效。为了获得良好的 UX 体验,您需要确保用户可以编辑输入字段中的任何字符、删除字符并将值粘贴到其中。这就是为什么使用已经具备所有可用功能的实现很方便的原因。

我过去使用的库是 maska,它与 Vue3 兼容。

它允许您使用替换掩码创建字段

tokens = {
    '#': { pattern: /[0-9]/ },'X': { pattern: /[0-9a-zA-Z]/ },'S': { pattern: /[a-zA-Z]/ },'A': { pattern: /[a-zA-Z]/,uppercase: true },'a': { pattern: /[a-zA-Z]/,lowercase: true },'!': { escape: true },'*': { repeat: true }
}

如果这些还不够,它允许您定义额外的令牌

但这些应该足以满足您的需求

<input data-mask='AAA-###'>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...