0

我正在使用 jQuery 的 MaskedInput 插件来创建一个包含两个可选部分的输入掩码。

a?a-a?a其中第二个字符是可选的。

但是如果我输入a-a甚至第二个字符被标记为可选,MaskedInput 总是将其视为无效输入。

小提琴

4

1 回答 1

1

如果您仔细阅读文档......我只是这样做,因为我从未使用过这个插件,它清楚地表明http://digitalbush.com/projects/masked-input-plugin/

你可以让你的面具的一部分是可选的。“?”之后列出的任何内容 掩码内被认为是可选的用户输入。常见的例子是电话号码 + 可选分机。

所以你不能做你想做的事吗?但你可以使用这个:

如果预定义的占位符不满足您的要求,您可以随时添加自己的占位符。例如,也许您需要一个只允许十六进制字符的掩码。您可以为占位符添加自己的定义,例如“h”,如下所示: $.mask.definitions['h'] = "[A-Fa-f0-9]"; 然后你可以用它来掩盖像css颜色这样的东西。

所以我们可以为 alpha + space 定义一个掩码

$.mask.definitions['h'] = "[A-Za-z ]"
$('#blah').mask('ah-ah');

http://jsfiddle.net/ERfz4/

这段代码的问题在于它不是你想要的。它将接受“aa-aa”和“a -a”,但不接受“aa”或“a -a”

我认为对于你需要的东西,你可能想尝试自己实现它而不是使用这个插件。

于 2013-06-25T18:11:25.377 回答