1

我试图在 HTML 文本框中允许某种格式。此格式必须是 4 组数字 0-99,以连字符分隔。例如,4-4-4-4 或 4-55-4-55 或 44-55-4-55。我找到了这个qMask jQuery 插件,它让我 99% 都能到达我想要的地方。但是,在每个数字字段中,它将接受 1 个数字或 2 个数字,而不是 1 个数字或 2 个数字。

这是我的代码:$("#lce").mask("9-9-9-9");导致每个块接受 1 个数字

我也试过:$("#lce").mask("99-99-99-99");Results in required 2 numbers per block

并且:$("#lce").mask("9?-9?-9?-9?");以及交替使用 9 和 ? 的任一方式都会导致每个块接受 1 个数字

还尝试指定我自己的标准来搜索每个该站点:

$.mask.definitions['i'] = "[0-9]|[0-9][0-9]";

$("#lce").mask("i-i-i-i");导致每个块接受 1 个数字。

我所做的一切都不起作用,我要么对 RegEx 了解不足,无法指定我正在寻找的内容,要么插件不接受 RegEx 的预期方式。

目标是有一个类似于在 Windows 计算机中输入静态 IP 的输入。您可以键入 1-3 个字符并使用 [句点] 键移动到下一个块。

有人有任何提示吗?我已经搜索过,但我发现没有帮助。

4

1 回答 1

0

您可以使用ruoso正则表达式插件(小于您链接的插件)。

然后使用以下正则表达式掩码:

$("#yourInputFieldId").regexMask(/^(\d{1,2}-\d{1,2}-\d{1,2}|\d{1,2}-\d{1,2}-|\d{1,2}-\d{1,2}|\d{1,2}-|\d{1,2}){1}$/);
于 2013-03-30T02:18:26.970 回答