javascript中的日期验证

时间:2011-06-07 12:59:54

标签: javascript

如何使用单一正则表达式验证ddmmmyyyy和dd-mmm-yyyy日期格式。如果有人有想法,请提供解决方案

3 个答案:

答案 0 :(得分:4)

制作像这样的正则表达式有两个步骤:

  1. 学习正则表达式。
  2. 使用您的知识编写正则表达式,如果遇到问题请询问Stack Overflow。
  3. 如果您想学习正则表达式,请查看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}$/