如何使用单一正则表达式验证ddmmmyyyy和dd-mmm-yyyy日期格式。如果有人有想法,请提供解决方案
答案 0 :(得分:4)
制作像这样的正则表达式有两个步骤:
如果您想学习正则表达式,请查看Regular-Expressions.info - 这是最好的网站。它甚至在JavaScript-specific regular expressions上有一个部分。
如果你不想学习,那就走开,不要再浪费时间了。
答案 1 :(得分:0)
var dateFormat = /^(\d{4})-?(\d{2})-?(\d{2})$/
然后你可以像这样使用它:
var match = myString.match(dateFormat);
if (match) {
var year = +match[1], month, day;
var field2 = +match[2], field3 = +match[3];
var monthFirst = true;
if (field2 > 12 && field3 <= 12) {
monthFirst = false;
} else if (field2 <= 12 && field3 <= 12) {
var systemDateFormat = "" + new Date(1970, 5, 13);
monthFirst = systemDateFormat.indexOf("13") > systemDateFormat.indexOf("5");
}
if (monthFirst) {
month = field2;
day = field3;
} else {
month = field3;
day = field2;
}
doSomethingWith(year, month, day);
}
答案 2 :(得分:0)
你做过任何研究吗?假设“mmm”是字母:
/^[0-9]{2}-?[a-zA-Z]{3}-?[0-9]{4}$/