【问题标题】:Jquery Input mask not visible with regex正则表达式不显示 Jquery 输入掩码
【发布时间】:2016-03-21 10:27:23
【问题描述】:

我正在使用 RobinHerbots/jquery.inputmask 来屏蔽我的输入字段。 我在下面创建正则表达式来验证它。

\d{2}\.\d{2}\.\d{2}\.\d{2}-.*

我在输入字段中使用如下。

<input type="text" id="abc" name="abc" data-inputmask-regex="\d{2}\.\d{2}\.\d{2}\.\d{2}-.*" value="" class="form-control" />

并在文档上初始化 jquery 代码,如下所示。

$("#abc").inputmask('Regex');

它工作正常,我只能在正则表达式中输入允许的字符。但掩码未显示(输入字段上的掩码不可见)

我想验证/屏蔽低于值

99.99.99.99-(任意字符无限长或可选文本)

示例:

12.20.26.52-abc; pqr。 xyz2020

我怎样才能使它适用于这个正则表达式。它应该在输入字段上显示掩码。 提前致谢。

【问题讨论】:

    标签: javascript jquery regex jquery-inputmask


    【解决方案1】:

    regex extension page 中所示,正则表达式没有占位符:

    没有进一步的掩蔽可视化。

    您必须依靠 mask 来获得掩蔽助手。

    【讨论】:

      【解决方案2】:

      据我所知,正则表达式的占位符尚未实现。

      RobinHerbots 于 2015 年 1 月 15 日发表评论
      当前的正则表达式别名 不支持占位符或任何视觉对象。

      https://github.com/RobinHerbots/jquery.inputmask/issues/798

      【讨论】:

        【解决方案3】:

        有一种方法可以使用少量带有特殊掩码定义的可选和动态部分来欺骗您正在寻找的内容,但是您必须设置某种字符限制。

        以下内容应该可以工作 - 请注意,“100”是此处溢出文本的技术最大大小,但可以增加。

        $('#abc').inputmask({
             mask: "99.99.99.99[-*{0, 100}]",
             greedy: false,
             definitions: {'*': {validator: "."}}
         });
        

        顺便说一下,在我的快速测试中,重复限制似乎并没有被强制执行(至少使用版本 3.3.4-128)。

        【讨论】:

          【解决方案4】:

          根据文档,您必须添加这样的占位符:

          $("#abc").inputmask('Regex', { placeholder: "99.99.99.99-*" }); (未测试)

          参考:https://github.com/RobinHerbots/jquery.inputmask#placeholder-1

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-08-20
            • 1970-01-01
            • 1970-01-01
            • 2019-08-08
            • 1970-01-01
            相关资源
            最近更新 更多