我正在使用jQuery的MaskedInput插件来创建一个包含两个可选部分的输入掩码。
a?a-a?a,其中第二个字符是可选的。
但是,如果我输入a-a,MaskedInput总是将其视为无效输入,即使第二个字符被标记为可选。
fiddle
发布于 2013-06-26 02:11:25
如果您仔细阅读文档,…因为我从来没有用过这个插件,所以我就这么做了,它清楚地说明了http://digitalbush.com/projects/masked-input-plugin/:
你可以让你的面具的一部分是可选的。掩码中'?'后面列出的任何内容都被认为是可选的用户输入。常见的示例是电话号码+可选分机。
所以你不能做你想做的事?但您可以使用以下代码:
如果预定义的占位符不能满足您的要求,您可以随时添加自己的占位符。例如,您可能需要一个掩码来只允许十六进制字符。您可以为占位符添加自己的定义,例如'h',如下所示:$.mask.定义‘h’= "A-Fa-f0-9";然后您可以使用它来遮罩css颜色之类的东西。
所以我们可以为alpha +空间定义一个掩码
$.mask.definitions['h'] = "[A-Za-z ]"
$('#blah').mask('ah-ah');http://jsfiddle.net/ERfz4/
这段代码的问题在于它并不完全是您想要的。它将接受"aa-aa“和"a -a”,但不接受"a -a“或"a -a”。
我认为,为了满足您的需求,您可能希望尝试自己实现它,而不是使用这个插件。
https://stackoverflow.com/questions/17304039
复制相似问题