如何使用v-maska配置可选小数位的金额输入掩码?
解决v-maska金额输入掩码配置问题
要实现100 200 500.99格式的金额输入(小数部分可选),你需要调整掩码规则、token定义和可选字符配置,具体代码如下:
<input v-maska :data-maska="`999 999 999.00`" :data-maska-tokens="`9:[0-9]:repeated|0:[0-9]:optional`" data-maska-reversed data-maska-optional-chars="." />
关键配置说明:
data-maska-reversed:开启反向处理,金额输入从右往左解析,自动添加千位分隔空格,符合金额输入习惯。data-maska="999 999 999.00":定义整数部分的三位组分隔格式,以及小数部分的两位格式。data-maska-tokens:9:[0-9]:repeated:9代表0-9数字,repeated允许整数部分无限重复三位组(支持任意长度的整数)。0:[0-9]:optional:0代表0-9数字,optional允许小数部分的每一位可填可不填。
data-maska-optional-chars=".":将小数点设为可选字符,当未输入小数部分时,小数点不会显示。
效果验证:
- 输入整数
123456789→ 显示123 456 789 - 输入带一位小数
123456789.5→ 显示123 456 789.5 - 输入带两位小数
123456789.56→ 显示123 456 789.56 - 输入无整数的小数
.56→ 显示.56(若需强制要求输入整数部分,可调整token规则,将9的flags改为repeated|required)
内容的提问来源于stack exchange,提问作者stanislav kim
相关产品推荐
相关产品推荐

