Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有特殊字符作为可选前置元素的日期正则表达式_Javascript_Regex_Date_Special Characters - Fatal编程技术网

Javascript 带有特殊字符作为可选前置元素的日期正则表达式

Javascript 带有特殊字符作为可选前置元素的日期正则表达式,javascript,regex,date,special-characters,Javascript,Regex,Date,Special Characters,带有特殊字符作为可选前置元素的日期正则表达式 我需要YYYY-MM-DD的日期正则表达式,以及以下四种情况: 1978-12-20 >1978-12-20 >=1978-12-20 <1978-12-20 <=1978-12-20 我如何允许这5种情况 Imho,正则表达式对你来说不是最好的工具,但是如果你仍然想使用正则表达式。。。一个基本的,然后你可以使用这样的正则表达式: ^(?:>=?|<=?)?\d{4}-\d{2}-\d{2}$ 匹配日期的正则表

带有特殊字符作为可选前置元素的日期正则表达式

我需要YYYY-MM-DD的日期正则表达式,以及以下四种情况:

1978-12-20
>1978-12-20
>=1978-12-20
<1978-12-20
<=1978-12-20

我如何允许这5种情况

Imho,正则表达式对你来说不是最好的工具,但是如果你仍然想使用正则表达式。。。一个基本的,然后你可以使用这样的正则表达式:

^(?:>=?|<=?)?\d{4}-\d{2}-\d{2}$
匹配日期的正则表达式有点难看。您可以轻松验证模式,但日期具有逻辑性。。。例如,不是所有的月份都有30天,如果你数01、02、03或1、2、3,年份只有12天


请记住,使用上面的正则表达式将有无效的日期。因此,您可能希望先捕获日期字符串以确保其有效,然后应用此模式检查其是否正确。

这是匹配的=1234-12-12,但不需要。@PhilippM,我已用更多细节更新了答案,但是在您的问题中,您几乎没有输入任何信息。所以,我想出了这个基本的正则表达式。@Toto,接得好。。。谢谢刚刚修好。我正在使用,但我想允许增加四个scenarios@PhilippM,让我知道它是否有效。我投票将这个问题作为离题题结束,因为它没有试图编写代码来实现所需的逻辑。