如何解决 jquery mask 插件的问题?

Posted

技术标签:

【中文标题】如何解决 jquery mask 插件的问题?【英文标题】:How to resolve problem with jquery mask plugin? 【发布时间】:2019-12-18 08:34:42 【问题描述】:

我用这个插件做面具https://igorescobar.github.io/jQuery-Mask-Plugin/

我需要像这样开始面具 +38 (0XX) XXX-XX-XX

我对零有疑问(这是强制性的),现在我可以输入任何数字而不是零

我的代码:

 $('input[type="tel"]').mask("+38 (000) 000-00-00", 
    placeholder: "+38 (0XX) XXX-XX-XX",
    clearIfNotMatch: true
  );

如何正确?

【问题讨论】:

【参考方案1】:

我想到了这个解决方案。但是在这种情况下需要手动填充零,在我的情况下我需要像 +38 一样自动填充。

根据你的评论,把translation和

结合起来就够了

后备数字:当用户为当前位置键入无效字符时,插件将用其后备替换它而不是删除它们。

因此,将以下行添加到您的掩码中就足够了:

translation: X: pattern: /0/, optional: false, fallback: '0'

...而且,您现在的代码是:

$('input[type="tel"]').mask("+38 (X00) 000-00-00", 
     placeholder: "+38 (0XX) XXX-XX-XX",
     clearIfNotMatch: true,
     translation: X: pattern: /0/, optional: false, fallback: '0'
 );

$('input[type="tel"]').mask("+38 (X00) 000-00-00", 
    placeholder: "+38 (0XX) XXX-XX-XX",
    clearIfNotMatch: true,
    translation: X: pattern: /0/, optional: false, fallback: '0'
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>


<input type="tel">

【讨论】:

我想到了这个解决方案。但是在这种情况下需要手动填充零,我需要像 +38 一样自动填充。

以上是关于如何解决 jquery mask 插件的问题?的主要内容,如果未能解决你的问题,请参考以下文章

jquery屏蔽输入插件不清除字段?

jQuery插件开发

jQuery fileDownload 插件不显示弹出窗口,如何解决这个问题?

带有正则表达式的 Jquery input.mask

jQuery版本之间冲突如何解决?

如何使用 jQuery 选择的插件重置表单?