使用正则expression式检查文件扩展名 – application / vnd.ms-excel
我需要检查一个文件是否是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'); }
正则expression式有问题吗?
这是你的错误:( (.|\/)
这部分需要消耗一个字符 – 实际上相当于.
。
删除那部分,你会没事的。 你还需要逃避时间:
var acceptFileTypes = /application\/vnd\.ms-excel$/i;
当然,这相当于:
var acceptFileTypes = "application/vnd.ms-excel"; var isExcel = yourFile.toLowerCase().indexOf(acceptFileTypes, yourFile.length - acceptFileTypes.length) == 0;