上传前检测客户端文件名后缀是否合法
如果只是一个input,以下代码即可:
<SCRIPT language= "javascript ">
function isPic(){
var ExtList = ".jpg.gif.bmp.png.swf ";
var filename = upfile.filename.value
var the_ext = filename.substr(filename.lastIndexOf( ". ")+1).toLowerCase();
if (ExtList.indexOf(the_ext)==-1){
alert( "请选择规定范围的图片文件! ");
return false;
}
return true;
}
</SCRIPT>
<form method= "post " name= "upfile ">
<input type=file name= "filename ">
<input type=submit value= "上传 " onclick= "return isPic() ">
</form>
但是,我现在需要判断多个 <input> ,而且每个input的name属性都一样是filename,如下:
<form method= "post " name= "upfile ">
<input type=file name= "filename ">
<input type=file name= "filename ">
<input type=file name= "filename ">
<input type=file name= "filename ">
</form>
这样子上面判断的代码就不行了,
问以上代码怎么改可以判断每个input的文件类型是否都符合.jpg.gif.bmp.png.swf ?
------解决方案-------------------- <SCRIPT language= "javascript ">
function chk(){
var b = true;
var list = document.upfile.filename;
for(var i=0;i <list.length;i++){
if(!isPic(list[i].value)){
b = false;
break;
}
}
return b;
}
function isPic(filename){
var ExtList = ".jpg.gif.bmp.png.swf ";
var the_ext = filename.substr(filename.lastIndexOf( ". ")+1).toLowerCase();
if (ExtList.indexOf(the_ext)==-1){
alert( "请选择规定范围的图片文件! ");
return false;
}
return true;
}
</SCRIPT>
------解决方案--------------------取得所有的fileupload控件,进行遍历!
设置所有的上传控件相同的name= "fileuplaod "
document.getElementsByName(= "fileuplaod ")
for循环即可1