为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
翻阅古今 2022-01-08 14:54:32
我有一个用户可以上传文件的表单。我需要程序来检查文件是否是 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函数会更好吗?
查看完整描述

1 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

我认为你最好在这里使用 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


查看完整回答
反对 回复 2022-01-08
  • 1 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号