MaskedInput,两个可选部分不起作用

时间:2013-06-25 17:43:10

标签: javascript jquery maskedinput

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

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

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

fiddle

1 个答案:

答案 0 :(得分: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”但不接受“a-a”或“a -a”

我认为根据您的需要,您可能希望自己尝试实现它,而不是使用此插件。