我的格式为2016-10-18T00:00:00Z。 配置:
var regexIso8601 = /^(\d{4}|\+\d{6})(?:-(\d{2})(?:-(\d{2})(?:T(\d{2}):(\d{2}):(\d{2})\.(\d{1,})(Z|([\-+])(\d{2}):(\d{2}))?)?)?)?$/;
但是,它解析字符串" 2322"到DateTime,我不想要那个,我只解析2016-10-18T00:00:00Z。
答案 0 :(得分:0)
此正则表达式将检查字符串是否与ISO日期格式匹配。
唯一使用的正则表达式是
\d
数字{n}
匹配次数如果我们不在任何地方使用这些值,则无需使用捕获。
然后我们只在输入字符串上使用RegExp.prototype.test
方法。
const isISOFormat = str => /\+*\d{4,6}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2,3}Z/.test(str)
console.log(
isISOFormat('2016-10-18T00:00:00Z'),
isISOFormat('2016-10-18')
)