Tal*_*lha 2 javascript regex asp.net
什么是日期格式的正则表达式 '01-Aug-12'.
我有dd-M-yasp.net应用程序的日期格式,并希望从中验证它asp.net regular expression validator control.
一个非常基本的格式检查将是:
\d{2}-[A-Za-z]{3}-\d{2}
Run Code Online (Sandbox Code Playgroud)
看到自己在这里.
要实际验证,我们需要像@Brijesh Gandhi建议的一天检查,然后添加一个完整的月份列表,如下所示:
([12]\d|0[1-9]|3[0-1])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{2}
Run Code Online (Sandbox Code Playgroud)
如果你想允许小写月份aug,你可以添加?i:像这样的case-insensivity修饰符......
([12]\d|0[1-9]|3[0-1])-(?i:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{2}
Run Code Online (Sandbox Code Playgroud)
...但是这也会允许一个月像aUg- 例如,只允许第一个字符为大写或小写可能是最正确的.
([12]\d|0[1-9]|3[0-1])-([Jj]an|[Ff]eb|[Mn]ar|[Aa]pr|[Mm]ay|[Jj]un|[Jj]ul|[Aa]ug|[Ss]ep|[Oo]ct|[Nn]ov|[Dd]ec)-\d{2}
Run Code Online (Sandbox Code Playgroud)
在此处查看此最终版本.
请注意,这仍然无法检测到无效日期,例如30-Feb-12.不接受这些特殊日期的正则表达式将非常长/丑.即使使用Javascript的Date.parse(...)/ new Date(...)也无法检测到它们,因为它乐意接受上述不存在的日期,并返回3月1日.所以要100%正确,你需要自己做复杂的编码,或者使用像datejs这样的库.
编辑1:缩短了@Brijesh Gandhi的日期检查,更新了Regexr链接.
编辑2:备注正确性.
| 归档时间: |
|
| 查看次数: |
691 次 |
| 最近记录: |