Regex检查格式`YYYY-MM-DDTH:MM:SS.000`-javascript



我有YYYY-MM-DDTHH:MM:SS.000格式的日期字符串

例如:2000-01-01T00:00:00.000

我需要一个正则表达式来检查给定的字符串是否为上述格式。我已经尝试了regex

^(d{4}-d{2}-d{2}Td{2}:d{2}:d{2})Z$

它似乎不起作用。如有任何帮助,我们将不胜感激。

您需要检查正则表达式和生成的日期

const simplifiedPattern = /^(d{4}-d{2}-d{2}Td{2}:d{2}:d{2}.d{3}Z)$/
const testData = ["2000-01-01T00:00:00.000Z", "2000-01-01 00:00:00.000Z"]
const matches = testData.filter(e => simplifiedPattern.test(e))
console.log(matches)
matches.forEach(match => {
const d = new Date(match)
console.log(match === d.toISOString())
})

您的示例缺少Z,并且忘记了在.之后匹配最后3个零(需要转义点(:

^(d{4}-d{2}-d{2}Td{2}:d{2}:d{2}.d{3}Z)$

const simplifiedPattern = /^(d{4}-d{2}-d{2}Td{2}:d{2}:d{2}.d{3}Z)$/
const testData = ["2000-01-01T00:00:00.000Z", "2000-01-01 00:00:00.000Z"]
const matches = testData.filter(e => simplifiedPattern.test(e))
console.log(matches)

最新更新