IE 11中的JavaScript正则表达式不工作

IE 11中的JavaScript正则表达式不工作,javascript,regex,validation,internet-explorer-11,Javascript,Regex,Validation,Internet Explorer 11,我有一个asp表单,其中有一个使用JavaScript正则表达式验证的文件上载控件 使用JavaScript正则表达式验证文件格式的方法如下: var fileUpload = document.getElementById("flPancard"); var fileUploadError = document.getElementById("lblErrPancardUpload"); if (fileUpload.value.trim().length == 0) { bool =

我有一个asp表单,其中有一个使用JavaScript正则表达式验证的文件上载控件

使用JavaScript正则表达式验证文件格式的方法如下:

var fileUpload = document.getElementById("flPancard");
var fileUploadError = document.getElementById("lblErrPancardUpload");
if (fileUpload.value.trim().length == 0) {
    bool = false;
    fileUploadError.innerHTML = "*";
}
else {
    var regEx = /^([0-9a-zA-Z_\-~ :\\])+(.jpg|.JPG|.jpeg|.JPEG|.bmp|.BMP|.gif|.GIF|.png|.PNG)$/;
    if (regEx.test(fileUpload.value.trim()))
        fileUploadError.innerHTML = "";
    else {
        bool = false;
        fileUploadError.innerHTML = "File format is not supported";
    }
}
但是,该功能在IE11中不起作用,我检查了IE较低版本(即IE8、9和10)中的验证,所有这些都工作正常,但我得到的消息是,尽管我选择了有效文件,但IE11中不支持文件格式


我应该怎么做才能使正则表达式在IE 11中工作?

在扩展名之前,您真的需要验证文件名吗?您通常会丢弃后端的文件,而在前端对其进行验证并不会增加太多安全性。请举例说明当fileUpload.value.trim在IE 11中不起作用时,它是什么。我不明白您的真正意思@PinalI已移除[0-9a-zA-Z\-~:\\]+部分,但仍不工作@法布里西奥·马特·姆很奇怪。按照Sebastian的要求发布fileUpload.value.trim的值: