在JavaScript中验证ISO 8601日期/时间

时间:2014-07-27 14:30:38

标签: javascript regex datetime

我正在开发一个从查询字符串中获取值的应用。因为值来自查询字符串,所以我基本上使用字符串值。我需要编写一个JavaScript函数来确定字符串是否是ISO-8601格式的日期/时间。我的挑战之一是我的JavaScript代码使用严格模式(即'use strict';)。目前,我正在尝试以下方法:

var isValidDateTime = function(dateString) {
  var pattern = new RegExp('/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/');
  if (pattern.text(dateString) === true) {
    return true;
  } else {
    return false;
  }
};

不幸的是,这似乎不起作用。我通过' 2014-07-28T10:53:59Z'作为测试目的的dateString值。我猜我的正则表达式是不正确的。但是,我不确定使用哪一个。有谁知道如何验证字符串是否是有效的iso-8601日期/时间?

谢谢

0 个答案:

没有答案