我需要检查文件是否是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');
}
正则表达式有问题吗?
答案 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;