0

動的に作成されたRegExpオブジェクトに問題があります(ファイルアップロードプラグイン内

これはプラグインの初期化コードです:

$('#fileupload').fileupload('option', {
    acceptFileTypes: /(\.|\/)(doc|pdf)$/i
});

そのコードは正規表現を変更します:

$('#files-list').change(function() {
   $('#fileupload').fileupload(
            'option',
            'acceptFileTypes',
            new RegExp('(\.|\/)('+$(this).find(":selected").attr('f-ext')+')$/i')
                );
            });

/そして、その正規表現の最初と最後に文字を追加します。

下の画像を参照してください。1行目と2行目は、プラグインの初期化後、3行目と4行目です。これにより、ファイル名の検証が失敗します。

ここに画像の説明を入力してください

それを修正する方法は?

4

2 に答える 2

2

大文字と小文字を区別しない修飾子を使用するには、次の手順を実行する必要があります

new RegExp( regexp_expression , 'i' );
于 2012-08-16T14:18:04.170 に答える
2

JS正規表現の修飾子は、コンストラクター関数で提供される場合、個別に指定する必要があります。

...new RegExp('(\.|\/)('+$(this).find(":selected").attr('f-ext')+')$', 'i');

一般的な構文は次のとおりです。

var newRegex = new RegExp(pattern [, flags]);
于 2012-08-16T14:18:34.173 に答える