【发布时间】:2022-01-04 13:25:49
【问题描述】:
我知道那里有很多正则表达式线程,因为我需要一个我在任何地方都找不到的特定模式
此正则表达式以 YYYY-MM-DD 格式验证
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/
我需要模式为 DD/MM/YYYY (第一天,因为它是西班牙语,只有“/”,“-”不应该被允许)
我搜索了几个正则表达式库,我认为这个应该可以工作......但由于我不熟悉正则表达式,我不确定它是否可以这样验证
(0[1-9]|[12][0-9]|3[01])[ \.-](0[1-9]|1[012])[ \.-](19|20|)\d\d
我也不知道如何转义斜杠,我尝试“查看”字符串中的逻辑,但这就像为我尝试“查看”矩阵代码一样。我将正则表达式字符串放在选项 .js 中
[...] },
"date": {
"regex": (0[1-9]|[12][0-9]|3[01])[ \.-](0[1-9]|1[012])[ \.-](19|20|)\d\d,
"alertText": "Alert text AAAA-MM-DD"
},
"other type..."[...]
那么,如果正则表达式没问题,我将如何逃避它? 如果不是,正确的正则表达式是什么,我该如何逃避它? :P
非常感谢
【问题讨论】:
-
你确定正则表达式是这里的最佳选择吗?
-
使用
(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))以 DD/MM/YYYY 格式验证日期,即使这也适用于 Leay year 验证,例如,这将在 29/02/2020 但不是 29/02/2019也不是 29/02/2100
标签: javascript regex