我正在为jQuery使用MaskedInput插件来创建一个包含两个可选部分的输入掩码。
a?a-a?a
其中第二个字符是可选的。
但是如果我输入a-a
,MaskedInput总是将其视为无效输入,即使第二个字符被标记为可选。
答案 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');
这段代码的问题在于它不是你想要的。 它将接受“aa-aa”和“a -a”但不接受“a-a”或“a -a”
我认为根据您的需要,您可能希望自己尝试实现它,而不是使用此插件。