在type =“file”中验证文件名和文件类型

时间:2013-07-17 10:34:53

标签: php javascript regex if-statement

我有以下代码,以查看标识为type="file"的{​​{1}}是否已更改。

file

当我选择一个文件时,我想看看文件名和文件类型是否符合$('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 } 的唯一问题是它传递了所有其他文件,而不仅仅是所需的文件。如何使其正常工作?

1 个答案:

答案 0 :(得分:1)

你的正则表达式无效,或者它至少没有你想要的那样。您可以将其粘贴到regex101中并查看原因:http://regex101.com/r/hU9nD5

使用此正则表达式:/^(?:P|PICT)\d+\.\JPG$/如果您也想支持.jpg,则可以执行:/^(?:P|PICT)\d+\.(?:jpg|JPG)$/,或者如果javascript支持,则内联修饰符(?i) < / p>

演示:http://regex101.com/r/vG7lC8