我想验证欧洲日期格式,例如“10.02.2012”或“10-02-2012”。因此我创建了以下正则表达式:
/\d[0-9]{2}(.|-)\d[0-9]{2}(.|-)\d[0-9]{4}/
不幸的是,即使日期的格式正确,我总是收到无效的消息。
当我将“(.|-)”替换为“.”时仅验证用点分隔的日期是有效的。所以我想问题一定是“(.|-)”
有任何想法吗?
请注意,到目前为止使用 \d 字符类提供的答案将允许 00.00.0000 或 99.99.9999 等日期通过。如果你想抓住这个,你需要使用更具体的正则表达式。下面的日期允许 1900 年 1 月 1 日到 2099 年 12 月 31 日之间的有效日期
^([1-9]|0[1-9]|[12][0-9]|3[01])[-\.]([1-9]|0[1-9]|1[012])[-\.](19|20)\d\d$
如果你想允许从 0000 到 9999 的任何年份,那么你可以将其更改为
^([1-9]|0[1-9]|[12][0-9]|3[01])[-\.]([1-9]|0[1-9]|1[012])[-\.]\d{4}$
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)