java脚本中的文件扩展名验证

1 javascript

可能的重复:
如何使用 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>
Run Code Online (Sandbox Code Playgroud)

Ry-*_*Ry- 5

为了简化:

\n\n
var extension = file1.split('.').pop().toLowerCase();\nvar allowed = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'wps'];\n\nif(allowed.indexOf(extension) === -1) {\n    // Not valid.\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

当然,文件\xe2\x80\x99 不一定包含其扩展名所包含的内容。

\n

  • +1 为 `.split().pop()` 获取扩展名 (2认同)