使用regex检查文件扩展名 - application / vnd.ms-excel

时间:2014-08-07 14:31:43

标签: javascript regex excel upload

我需要检查文件是否是xls。我正在尝试此代码,但我上传了一个xls文件,我收到错误无效文件。

var acceptFileTypes = /(.|\/)(application\/vnd.ms-excel)$/i;

console.log(data.originalFiles[0]['type']); //application/vnd.ms-excel 

if (!acceptFileTypes.test(data.originalFiles[0]['type'])) {
        uploadErrors.push('Invalid file');
}

正则表达式有问题吗?

1 个答案:

答案 0 :(得分:1)

这是您的错误:(.|\/)

这部分需要消耗一个字符 - 它实际上等同于.

删除那部分,你会没事的。你还需要逃避时期:

var acceptFileTypes = /application\/vnd\.ms-excel$/i;

当然,这相当于:

var acceptFileTypes = "application/vnd.ms-excel";
var isExcel = yourFile.toLowerCase().indexOf(acceptFileTypes, yourFile.length - acceptFileTypes.length) == 0;