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 回答