javascript - 如何使用 jQuery 屏蔽输入时保留后缀

标签 javascript jquery jquery-inputmask

我正在尝试使用 jQuery 使用以下掩码“########-##.####.7.09.009”来掩码用户输入,因此当用户开始输入时,它会出现像这样:

1__-__.____.7.09.009(用户输入 1)

12_____-__.____.7.09.009(用户输入 2)

123____-__.____.7.09.009(用户输入 3)

依此类推,直到到达“7.09.009”部分。

用户不应该能够编辑该部分,它就像那里的固定占位符。我尝试过使用Jasny's input mask取得了一些成功,但由于数字被 0 屏蔽并且固定后缀具有 0,因此它允许用户在固定部分中有零的地方键入。我没有找到一种方法将数字占位符从 0 替换为其他值,因为我想这可以解决我的问题。

然后我找到了另一个jQuery mask plugin这允许我使用 # 来屏蔽数字,但由于它也将 0 识别为数字的占位符,所以它最终不起作用。我还尝试创建一个自定义蒙版,如下所示:

 $("#numero-processo").mask('0000000-00.0000.A.BC.BBC',
          {placeholder: "_______-__.____.7.09.009",
          'translation': {
               A: {pattern: /[7]/},
               B: {pattern: /[0]/},
               C: {pattern: /[9]/}
           }});

这在某种程度上有效,但是当用户到达固定后缀部分时,(他/她)必须实际键入后缀“7.09.009”,这是唯一允许的事情,因为定制面具。但是,我不希望用户输入后缀,它需要在那里修复。有谁知道如何做到这一点?谢谢。

最佳答案

您通常通过将固定部分放在输入之外来解决这个问题(如果用户不应该修改它,如果它实际上不在可更改部分中,则更符合人体工程学)。

<input type="text" />.7.09.009

您可以使用一些 css 使其变得更好,并且您必须将其添加到 JS 或用于处理数据的语言中。所以也许是这样的:

<div class="mask_field" addendum=".7.09.009"><input type="text" />.7.09.009</div>

可能更容易合作。

关于javascript - 如何使用 jQuery 屏蔽输入时保留后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52409662/

相关文章:

javascript - 根据数组中填充的排序顺序对 html 进行排序

symfony - 当通过 Composer 包含时如何在 AdminLTE 中使用 jQuery 的输入掩码

c# - Selenium SendKey 与 jquery inputmask 冲突

javascript - Nodejs (Javascript) 中的插入函数出现 MySQL 错误

javascript - phonegap 中的“This”

jquery - 如何使用jquery在div标签中附加span标签?

Javascript 未在点击时填充字段

javascript - 如何以编程方式在 Phonegap/JQuery mobile 中查找设备宽度

javascript - 如何给函数添加名称?

javascript - 输入掩码的验证