通过正则表达式验证文件 - Javascript

时间:2013-04-10 11:00:45

标签: javascript jquery

我正在使用上传插件在jquery中上传文件。

这会获取上传文件的类型(例如jpeg):

data.files[0].type

我需要使用reg表达式检查它是否是有效的图像文件类型(usal图像文件类型为jpeg,jpeg,gif,png)。

到目前为止,我有:

var isValid = (/\.(gif|jpg|jpeg|tiff|png)$/i).test(data.files[0].type);

但它不起作用(总是返回false)。

关于如何修复的任何想法?

由于

2 个答案:

答案 0 :(得分:3)

如果您上传的文件类型(例如jpeg)没有“点”,那么您需要:

var isValid = (/(gif|jpg|jpeg|tiff|png)$/i).test(data.files[0].type)

答案 1 :(得分:1)

你的正则表达式是正确构造的(虽然它只检查扩展,而不是已经提到过的类型),所以很明显你检查错误的数据。

打印data.files[0].type,看看它是否真的像你想象的那样。从变量名称判断,很可能你的文件扩展名没有你的正则表达式检查那里的前导点。