PrimeNG InputMask v17 允许2-3位数字的掩码无法正常工作
解决PrimeNG InputMask血压格式匹配问题
你当前的mask="99?9/99?9"写法不符合PrimeNG InputMask的语法逻辑,导致组件强制要求每部分必须输入3位数字。PrimeNG里?标记的是它前面的字符为可选,而不是后面的,所以你写的99?9实际是要求前两位必填,第三位可选,但组件的输入逻辑可能会引导你补全第三位,达不到你要的灵活格式效果。
给你两种可行的解决方案:
方案一:调整mask语法
把mask改成9?99/9?99,这样每一部分都支持2位或3位数字:
<p-inputMask formControlName="vitalPriorBp" mask="9?99/9?99" autoClear="false" class="w-full border-round-2xl" />
9?99的意思是第一位数字可选,后两位必填,既支持输入99(只填后两位),也支持输入999(三位全填),完全覆盖你需要的三种格式。
方案二:使用正则模式(更直观)
切换到正则匹配模式,直接用正则表达式定义允许的格式,灵活性更高:
<p-inputMask formControlName="vitalPriorBp" mask="^\d{2,3}/\d{2,3}$" mode="regex" autoClear="false" class="w-full border-round-2xl" />
^\d{2,3}/\d{2,3}$表示输入内容必须是2-3位数字 + 斜杠 + 2-3位数字,完全匹配你期望的99/999、99/99、999/999三种格式。
内容的提问来源于stack exchange,提问作者Gines Frank Ellis
相关产品推荐
相关产品推荐

