【发布时间】:2025-12-10 12:10:01
【问题描述】:
我有以下验证日期的正则表达式:
//are not both dates
if (!methods._isDate(first[0].value) || !methods._isDate(second[0].value)) {
return options.allrules[rules[i]].alertText +
options.allrules[rules[i]].alertText2;
}
下面的正则表达式:
_isDate: function (value) {
var dateRegEx = new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/);
return dateRegEx.test(value);
},
但这看起来像 mmddyy,我的日期总是 ddmmyy。
你能重写这个正则表达式吗?请检查一下。
【问题讨论】:
-
* 是一个回答问题的社区,而不是“为我修复此代码”服务。你确实问了一个具体的问题,但我怀疑这个答案对你有什么用处。
-
我需要在这里做什么改变?
-
如果您使用正则表达式,您应该学习正则表达式,而不是找人为您工作。如果您已经知道正则表达式,您应该能够自己重写表达式,而不是找人为您工作。 至少,你应该在谷歌上搜索一个可以满足你需要的正则表达式。
-
[0-3][0-9][/](([0][0-9])|([1][0-2]))[/][0- 9]{4}我自己搞定了,请为我的问题投票
-
你的问题仍然很糟糕,自己回答并不会让它变得更好。您可以自己发布实际答案并接受它。不过,这仍然不是一个好问题。
标签: javascript jquery regex scripting