Jquery输入掩码与正则表达式不可见

时间:2016-03-21 10:27:24

标签: javascript jquery regex jquery-inputmask

我正在使用 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;焊接工艺评定。 xyz2020

如何让它适用于此正则表达式。它应该在输入字段上显示掩码。 提前谢谢。

4 个答案:

答案 0 :(得分:1)

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

  

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

您必须依靠mask来获取屏蔽助手。

答案 1 :(得分:1)

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

  

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

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

答案 2 :(得分:0)

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

以下内容应该有效 - 请注意,'100'是溢出文本的技术最大大小,但可以增加。

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

顺便说一句,在我的快速测试中,重复限制似乎无法实现(至少使用版本3.3.4-128)。

答案 3 :(得分:-2)

根据文档,您必须添加如下占位符:

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

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

相关问题