Javascript 正则表达式在neos中工作不正常

Javascript 正则表达式在neos中工作不正常,javascript,regex,neoscms,Javascript,Regex,Neoscms,我的正则表达式在neos项目中无法正常工作。 DD/MM/YYYY的正则表达式(仅19XX-20XX) 我用这个解决了这个问题 var date_regex = /^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/(19[0-9][0-9]|20[0-9][0-9])$/; 近地天体为何删除“{2}”, 我的新正则表达式有问题吗 在TYPO3-Fluid template engine中,您的帮助将不胜感激。花括号用于视图变量,因此在视图中使用JavaScri

我的正则表达式在neos项目中无法正常工作。 DD/MM/YYYY的正则表达式(仅19XX-20XX)

我用这个解决了这个问题

var date_regex = /^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/(19[0-9][0-9]|20[0-9][0-9])$/;
近地天体为何删除“{2}”, 我的新正则表达式有问题吗


在TYPO3-Fluid template engine中,您的帮助将不胜感激。花括号用于视图变量,因此在视图中使用JavaScript通常会产生错误,因为解析器无法猜测这是流体的var还是某些JS语法

您有两种解决方案,第一种是将整个JS移动到静态文件中,并通常将其包含在标题中:

第二种解决方案是使用
cdata
转义整个JS,如:

<script>
<![CDATA[

    var date_regex = /^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/\/(19|20)\d{2}$/ ;
    // ....

]]>
</script>


在使用
{2}
时,您是否遇到任何异常情况?否。当我控制台正则表达式时,它变成/^(0[1-9]| 1\d | 2\d | 3[01])\/(0[1-9]| 1[0-2])\/\/(19 | 20)\d$/很可能
{…
被Typo3解析为Typo3语法,因此您不能在RegExp对象中使用有限的量词。您是否尝试过使用
RegExp
<代码>var date_regex=RegExp(“^(0[1-9]| 1\\d | 2\\d | 3[01])/(0[1-9]| 1[0-2])/(19 | 20)\\d{2}$”。此外,摆脱有意义的大括号的通常方法是将它们加倍。请尝试。好的,谢谢你的评论。这也是行不通的。你有这个(19[0-9][0-9]| 20[0-9][0-9])的简写吗?你可以把它缩短为
((19 | 20)\d\d)
<script>
<![CDATA[

    var date_regex = /^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/\/(19|20)\d{2}$/ ;
    // ....

]]>
</script>