可能重复:
How can the file extension be validated in an input type file using JQuery?文件扩展验证
这是我的文件扩展名的验证码,以防止不必要的文件上传
有一个更简单的方法代码呢?
任何人都可以在这个改进?
<script>
function onSubmitForm(re) {
var formDOMObj = document.frmSend;
var file1 = formDOMObj.attach1.value;
var pdf=file1.toLowerCase().lastIndexOf(".pdf");
var doc=file1.toLowerCase().lastIndexOf(".doc");
var docx=file1.toLowerCase().lastIndexOf(".docx");
var xls=file1.toLowerCase().lastIndexOf(".xls");
var xlsx=file1.toLowerCase().lastIndexOf(".xlsx");
var wps=file1.toLowerCase().lastIndexOf(".wps");
if (file1 == "")
{
alert("Please pick a file.")
return false;
}
else
if (pdf == -1 && doc == -1 && docx == -1 && xls == -1 && xlsx == -1 && wps == -1)
{
alert("File not acceped. Please upload your RESUME in .pdf, .doc, or docx")
frmSend.reset(re);
return false;
}
else
return true;
}
</script>
一定要验证服务器上也;攻击者可能会禁用您的客户端验证代码并上传受限制的文件。 – voithos
此外,http://stackoverflow.com/questions/5796537/input-type-file-limit-selectable-files-by-extensions – tvanfosson
尽管如此,如果你有事情以这样的方式建立一个恶意上传居然可以引起问题,你有更大的问题。 (回复:@voithos’评论) – Ryan