首页 > 解决方案 > 如何按文件名过滤文件输入

问题描述

我可以使用<input type="file" accept=""/>带有文件名前缀/后缀的过滤器吗?例如,“_32”后缀将过滤从 Fig-A 到 Fig-B 的文件。

无花果-A 在此处输入图像描述

图-B 在此处输入图像描述

标签: htmlfile

解决方案


不。

accept 属性只接受 MIME 类型和文件扩展名。

它不能匹配文件名的其他部分。


如果选择的文件选择不当,您可以使用 JavaScript 读取文件名并显示错误。

document.querySelector('input').addEventListener("input", function () {
    if (this.files[0].name.match(/_32\..{3,4}$/)) {
        console.log("OK");
    } else {
        console.log("Not OK");
    }
});
<input type="file">


推荐阅读