0

我正在使用在http://www.mathachew.com/sandbox/jquery-autotab/中找到的插件 (请查看它以了解我在说什么)。

在达到最大长度后从输入更改焦点..并验证输入,所以我在这里有这一行:

$("#day").autotab_filter({format:"custom", pattern:"0[1-9]|1[0-9]|2[0-1]|3[01]"});
$("#month").autotab_filter({format:"custom", pattern:"0[1-9]|1[012]"});

看来我的正则表达式模式是错误的或什么的!我已经尝试了所有可能的组合。请帮忙!

这是一个例子http://jsfiddle.net/DAsRR/

4

2 回答 2

2

您的#day 模式:

0[1-9]|1[0-1]|2[0-1]|3[01]

允许 01-09、10、11、20、21、30 和 31 的数字。我认为您正在寻找:

0[1-9]|1[0-9]|2[0-9]|3[01]

不过,您的#month 模式对我来说看起来不错。

于 2013-01-11T17:19:05.263 回答
0

我找到了答案,伙计们..如果将来有人需要它:我必须指定 01 到 31 之间数字的相反数,因为这是将被删除而不是保留的模式!所以要指定除 01 到 31 范围之外的所有数字,这是正确的模式:

[^0-9]|00|^[3][2-9]$|^[4-9]

说明:[^0-9]不会除数字以外的任何字符!从 0 到 9
00,不是有效的天数!
并且^[3][2-9]$适用于所有以 3 开头并以 2 到 9 35 结尾的数字
,但它不是有效的天数!
并且^[4-9]适用于以 4 到 9 开头的数字。
关于该插件的任何其他问题,我很乐意回答

于 2013-01-15T15:39:02.853 回答