我对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]))
有人帮忙吗?
答案 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}
答案 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'));