gpt4 book ai didi

javascript - 在提交表单之前验证多个文件的文件名

转载 作者:行者123 更新时间:2023-12-02 22:58:03 25 4
gpt4 key购买 nike

我有一个用户可以上传文件的表单。我需要该程序检查该文件是否为 PRN,如果是,则检查文件名中是否包含正确的案卷编号和日期。问题是用户可以一次上传多个文件。我编写了一个 JavaScript 函数来在用户继续操作之前检查文件名,但是如何在 JavaScript 中处理多个文件?

我已经编写了检查文件名的函数,但不知道如何从这里继续处理多个文件。我对 JavaScript 还很陌生。

function checkFilenames(val) {
let filepath = val.value;
let n = filepath.lastIndexOf('\\');
let filename = filepath.substring(n + 1);
let d;
if (filename.contains('.prn') || filename.contains('.PRN')) {
let docketnum = <?php echo $job['docketno']; ?>;
d = new Date(<?php echo $job['hearing']; ?>*1000).toString();
let test = d.split(' ');
let month = test[1];
let monthsArray = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
let numMonth;
for (let i = 0; i < 12; i++) {
if (monthsArray[i] == month) {
numMonth = (i + 1).toString();
if (numMonth.length < 2) {
numMonth = '0' + numMonth;
}
}
}
let day = test[2].toString();
if (day.length < 2) {
day = '0' + day;
}
let year = test[3];
let dateToCheck = numMonth + '-' + day + '-' + year;
if (!(filename.contains(dateToCheck) && filename.contains(docketnum))) {
alert('Please check the file');
}
}
}

当我使用alert或console.log检查文件名时,它只显示第一个文件。有没有解决的办法?调用 PHP 函数会更好吗?

最佳答案

我认为您最好在这里使用 DOM File API。它允许您访问用户当前在 <input type="file"> 中选择的文件。字段。

files该字段的属性是一个 FileList,您可以像数组一样循环遍历它。个人File此列表中的对象可以直接访问文件的名称、大小和类型。 (也可以使用 FileReader 读取实际文件内容,但这超出了您此处所需的范围。)

有关如何使用它的更多信息可以在 MDN 上找到,https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications

关于javascript - 在提交表单之前验证多个文件的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57901064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com