Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查多个上载文件输入的所有扩展名_Javascript_Html - Fatal编程技术网

Javascript 检查多个上载文件输入的所有扩展名

Javascript 检查多个上载文件输入的所有扩展名,javascript,html,Javascript,Html,我需要更改此代码,以便条件检查来自多个选择文件输入的所有选定文件的文件扩展名,此代码仅检查一个文件扩展名。我能做到吗 var file = document.getElementById('file'); var ext = file.value.substring(file.value.lastIndexOf('.') + 1); if(ext!== "mp4" && ext!== "m4v" && ext!=

我需要更改此代码,以便条件检查来自多个选择文件输入的所有选定文件的文件扩展名,此代码仅检查一个文件扩展名。我能做到吗

var file = document.getElementById('file');
var ext = file.value.substring(file.value.lastIndexOf('.') + 1);

     if(ext!== "mp4" && ext!== "m4v" && ext!== "f4v")  {
         alert('not an accepted file extension');
             return false;
} 

<input id="file" name="uploaded[]" type="file" multiple />
var file=document.getElementById('file');
var ext=file.value.substring(file.value.lastIndexOf('.')+1);
如果(外部!=“mp4”和&ext!=“m4v”和&ext!=“f4v”){
警报(“不是可接受的文件扩展名”);
返回false;
} 

要获取dom元素数组中的所有输入元素,请使用
document.getElementsByName('upload[])

例如,在您的情况下,它将类似于:

var files = document.getElementsByName('uploaded[]'); 
for (var i = 0, j = files.length; i < j; i++) {
    var file = files[i];
    // do stuff with your file
}
var files=document.getElementsByName('upload[]);
for(var i=0,j=files.length;i
注意,我只想得到字符串的最后三个字符,因为您只有三个字母的文件扩展名。如果需要,可以使用
.split('.')
获取段数组并选择该数组的最后一个元素

var selection = document.getElementById('file');
for (var i=0; i<selection.files.length; i++) {
    var ext = selection.files[i].name.substr(-3);
    if(ext!== "mp4" && ext!== "m4v" && ext!== "fv4")  {
        alert('not an accepted file extension');
        return false;
    }
} 
var selection=document.getElementById('file');
对于(变量i=0;i

函数checkFile(){
var x=document.getElementById(“yourinputfieldis”);
var txt=“”;
document.getElementById(“demo”).innerHTML=txt;
if('x中的“文件”){
如果(x.files.length==0){
txt=“选择一个或多个文件。”;
}否则{
对于(var i=0;i”;
document.getElementById(“yourinputfieldis”).value=“”;
如果(文件中的“大小”){
txt+=“大小:”+file.size+“字节数
”; } 警报('您正在尝试上载不允许使用'+'(“+file.name+”无效)”的文件); } } } } } 否则{ 如果(x.value==“”){ txt+=“选择一个或多个文件。”; }否则{ txt+=“您的浏览器不支持文件属性!”; txt+=“
所选文件的路径:”+x.value; } } }
使用此方法验证aspx页面中的文件类型

<asp:FileUpload ID="fupload" name="fupload" runat="server" Class="form-control multi" accept="doc|docx|pdf|xls|xlsx" Width="270px" />


我使用“MultiFile.js”插件选择多个文件并上传。

通过javascript方法验证多个文件

功能是视频(电影){
常量ext=['.mp4'、'.m4v'、'.fv4'];
返回ext.some(el=>film.endsWith(el));
}
函数fileValidation(){
让files=document.getElementById('file');
for(设i=0;i

看起来你的开始很好。你还尝试或研究了什么来接近解决方案?我在谷歌上搜索了一下,但没有找到太多。是的,你找到了!谢谢你,我很感谢你的努力。肯定接受了答案:D@user1559811只是想确保您知道!=和!==是两个相似但不同的运算符。这里没有什么区别,但这是值得知道的。我不知道我一直认为它只是==、===和!==。我应该了解更多,再次感谢。请您添加一些信息,说明您的解决方案如何解决问题?您可以上载多个文件并检查所有扩展名。['gif'、'png'、'jpg'、'jpeg'、'doc'、'pdf'、'xlsx']逐个检查并阻止未细化的文件扩展后
<asp:FileUpload ID="fupload" name="fupload" runat="server" Class="form-control multi" accept="doc|docx|pdf|xls|xlsx" Width="270px" />