需要一个正则表达式为2019-01-09T11:05:29.000Z

时间:2019-01-09 12:26:10

标签: javascript regex

我对regex还是有点陌生​​。所以在这里可以得到任何人的帮助

试图制作一个如下,但不幸的是不起作用

((?:2|1)\\d{3}(?:-|\\/)(?:(?:0[1-9])|(?:1[0-2]))(?:-|\\/)(?:(?:0[1-9])|(?:[1-2][0-9])|(?:3[0-1]))(?:T|\\s)(?:(?:[0-1][0-9])|(?:2[0-3])):(?:[0-5][0-9]):(?:[0-5][0-9]))

有人帮忙吗?

3 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式:

  

[0-9] {1,4}-[0-9] {1,2}-[0-9] {1,2} [a-zA-Z] {1} [0-9] {1,2}:[0-9] {1,2}:[0-9] {1,2}。[0-9] + [a-zA-Z] {1}

Example

答案 1 :(得分:0)

在我看来,您的问题出在子序列(?:-|\\/)上,在该序列的两次出现中都删除了一个反斜杠,并且RE通过了您的测试日期。

re = '((?:2|1)\\d{3}(?:-|\/)(?:(?:0[1-9])|(?:1[0-2]))(?:-|\/)(?:(?:0[1-9])|(?:[1-2][0-9])|(?:3[0-1]))(?:T|\\s)(?:(?:[0-1][0-9])|(?:2[0-3])):(?:[0-5][0-9]):(?:[0-5][0-9]))'
new RegExp (re).test ('2019-01-09T11:05:29.000Z')

答案 2 :(得分:0)

应该是这样的:

var regex = /[1-2]\d{3}-(0[1-9]|1[0-2])-(3[0-1]|[1-2]\d|0[1-9])T(0\d|1[0-2])(:[0-5]\d){2}.\d{3}Z/

console.log('2019-01-09T11:05:29.000Z',regex.test('2019-01-09T11:05:29.000Z'));
console.log('2019-01-9T11:05:29.000Z',regex.test('2019-01-9T11:05:29.000Z'));