0

type="file"IDfileが変更されたかどうかを確認する次のコードがあります。

$('body').on('change', '#file', function() {
    // Do something
});

ファイルを選択したら、ファイル名とファイルの種類が次の要件に一致するかどうかを確認しますif

if(/P[(0-9\.\JPG)]+|PICT[(0-9\.\JPG)]+/.test(theFile.name)) {
    // Do something
    // theFile.name contains the file name and file type in type="file" like this: my_file.jpg
}

これに関する唯一の問題ifは、必要なファイルだけでなく、他のすべてのファイルを渡すことです。これを正しく機能させるにはどうすればよいですか?

4

1 に答える 1

1

あなたの正規表現は無効であるか、少なくともあなたが望むことをしません。regex101 に貼り付けて、その理由を確認できます: http://regex101.com/r/hU9nD5

代わりにこの正規表現を使用してください:/^(?:P|PICT)\d+\.\JPG$/また、サポートしたい場合は.jpg、次のこともできます: /^(?:P|PICT)\d+\.(?:jpg|JPG)$/、または JavaScript がサポートしている場合は、インライン修飾子(?i)

デモ: http://regex101.com/r/vG7lC8

于 2013-07-17T10:51:22.600 に答える