<input type="file" name="files" id="files" isEmpty="<%=column.getIx01()%>" οnchange="checkFile(this);"/>
//验证上传文件的格式和大小 最大10M
function checkFile(obj){
//最大10m
var allowLength = 10;
var filePath = obj.value;
if(filePath.length>0){
var fileExt = filePath.substring(filePath.lastIndexOf(".")).toLowerCase();
alert(fileExt);
if(!fileExt.match(/.jpg|.gif|.png|.bmp|.rar|.xls|.xlsx|.pdf|.doc|.docx|.txt|.zip|.war/i)) {
//第一种清除file的方法
//obj.value = "";
//第二种清除file的方法
//obj.select();
//document.selection.clear();
//第三种清除file的方法 (这三种方法各个浏览器支持的不同)
obj.outerHTML=obj.outerHTML;
alert('你上传的文件格式不符合(.jpg|.gif|.png|.bmp|.rar|.xls|.xlsx|.pdf|.doc|.docx|.txt|.zip|.war)');
return false;
}else{
//IE浏览器
if(navigator.userAgent.indexOf("MSIE")>0) {
try {
var fso,f,fsize;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(filePath);
fsize=f.Size;
fsize=fsize/1048576;
if(fsize>allowLength){
obj.select();
document.selection.clear();
alert("你上传的附件文件大小超过最大值10M,不允许上传");
return false;
}
}catch(e){
alert(e+"\n 跳出此消息框,是由于你的activex控件没有设置好,\n"+
"你可以在浏览器菜单栏上依次选择\n"+
"工具->internet选项->\"安全\"选项卡->自定义级别,\n"+
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n"+
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
return false;
}
//火狐和谷歌
}else if((isFirefox=navigator.userAgent.indexOf("Firefox")>0)||(isChrome=navigator.userAgent.indexOf("Chrome")>0)){
var filesize = obj.files[0].size;
filesize = filesize/1048576;
if(filesize>allowLength){
obj.outerHTML=obj.outerHTML;
alert("你上传的附件文件大小超过最大值10M,不允许上传");
return false;
}
}else{
alert("请使用IE、火狐或者谷歌浏览器,以便更好以便更好的上传附件!");
}
}
}
}