2

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}' を削除する理由、新しい正規表現に問題はありますか

あなたの助けをいただければ幸いです

4

1 に答える 1

2

TYPO3 - Fluid テンプレート エンジンでは、中括弧がビュー変数に使用されるため、ビュー内で JavaScript を使用すると、これが Fluid の var なのか JS 構文なのかをパーサーが推測できないため、エラーが発生することがよくあります。

2 つの解決策があります。1 つ目は、JS 全体を静的ファイルに移動し、通常どおりヘッダーに含めることです。<script src="/path/to/your/file.js"></script>

2番目の解決策は、JS全体を次cdataのようにエスケープすることです:

<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>
于 2016-02-11T09:38:57.960 に答える