【发布时间】:2019-06-18 09:54:43
【问题描述】:
我写了如下的正则表达式:
/^(\d{4}\-\d\d\-\d\d)|(\d{4}\-\d\d\-\d\d([tT][\d:\.]*){1})([zZ]|([+\-])(\d\d):?(\d\d))?$/.test("1995-01-01")
它工作正常,但即使我给出错误的格式也返回 true 作为值请参考下面的截图:
【问题讨论】:
-
您没有正确分组模式。试试
/^(?:(\d{4}\-\d\d\-\d\d)|(\d{4}\-\d\d\-\d\d([tT][\d:\.]*){1})([zZ]|([+\-])(\d\d):?(\d\d))?)$/ -
@WiktorStribiżew,将此作为答案发布
-
这个问题被this question 错误地关闭了,事实上食尸鬼posted 一个(实际上与当前场景无关)答案类似于该线程中的答案并不会使其成为骗子。这里的问题是如何在一个应该匹配整个字符串的正则表达式中使用两种替代方法。
标签: javascript regex regex-group