如何使用imask.js定义允许任意输入的"anything"掩码?
imask.js 实现允许任意输入的正确掩码配置
要解决imask.js中允许输入任意内容的需求,无需使用mask: {}这种带有警告的临时方案,官方提供了两种可靠的实现方式:
方法1:使用官方AnyMasked掩码类型
这是imask.js专门用于匹配任意字符的内置掩码类,配置后不会产生任何警告,是最推荐的方式:
IMask(document.getElementById("input"), { mask: "Digit here: 0. Anything here: anything", lazy: false, blocks: { anything: { mask: IMask.AnyMasked } } });
方法2:使用正则表达式匹配任意内容
如果习惯用正则表达式,也可以通过/.*/匹配任意长度的任意字符,同样能满足需求:
IMask(document.getElementById("input"), { mask: "Digit here: 0. Anything here: anything", lazy: false, blocks: { anything: { mask: /.*/ } } });
额外场景:整个输入框允许任意输入
如果不需要固定前缀,直接让整个输入框接受任意内容,只需直接配置mask: IMask.AnyMasked即可:
IMask(document.getElementById("input"), { mask: IMask.AnyMasked, lazy: false });
配套的HTML和CSS代码保持不变:
input { width: 50vw; padding: 10px; font-size: large; box-sizing: border-box; }
<script src="https://unpkg.com/imask"></script> <input id="input"/>
内容的提问来源于stack exchange,提问作者Behemoth
相关产品推荐
相关产品推荐

