正则表达式不正常neos

时间:2016-02-11 07:25:40

标签: 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|20)\d{2}$/ ;
return date_regex.test(testDate);

我用这个

解决了这个问题
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])$/;

为什么neos删除'{2}', 我的新正则表达式是否有任何问题

您的帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

在TYPO3 - Fluid模板引擎中,大括号用于视图变量,因此在视图中使用JavaScript通常会产生错误,因为解析器无法猜测这是否是Fluid的var或某些JS语法。

你有两个解决方案,首先是将整个JS移动到静态文件中,并将其包含在标题中,通常是:<script src="/path/to/your/file.js"></script>

第二个解决方案是使用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>