Mozilla并没有完美地执行这段代码,尽管它适用于Chrome和IE
Mozilla is not executing this code perfectly, although it works with Chrome and IE
它是JavaScript中的文件验证代码,用于验证上传的文件是否具有所需的格式。在使用Mozilla执行此代码时,Mozilla始终显示"不是有效的文件扩展名"错误,而此脚本可以完美地与Chrome和IE配合使用。
regx_docx = /^(([a-zA-Z]:)|(''{2}'w+)'$?)(''('w['w].*))+(.doc|.docx|.DOC|.DOCX|.jpg|.jpeg|.JPG|.JPEG|.gif|.GIF|.bmp|.BMP|.png|.PNG|.pdf|.PDF|.xls|.XLS|.xlsx|.XLSX|.txt|.TXT|.rar|.RAR|.zip|.ZIP)$/;
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
if ((field.name == 'doc[]') && (field.value!= '')) {
if(!regx_docx.test(field.value)){
count++;
errtxt+= "'n"+count+") Not a valid file Extension.";
}
}
}
零件
^(([a-zA-Z]:)|(''{2}'w+)'$?)(''('w['w].*))+
在两个方面存在问题:
- 它仅适用于 Windows,因为它假设
'
作为路径分隔符 - 仅当浏览器提供所选文件的路径时,它才有效,出于安全原因,Firefox 没有(IE 提供虚拟路径)
由于您只对扩展感兴趣,因此只需从正则表达式中删除该部分即可。
此外,您需要对点进行转义,以使其与文字.
字符匹配。
regx_docx = /'.(doc|docx|DOC|DOCX|jpg|jpeg|JPG|JPEG|gif|GIF|bmp|BMP|png|PNG|pdf|PDF|xls|XLS|xlsx|XLSX|txt|TXT|rar|RAR|zip|ZIP)$/;
相关文章:
- AngularJS$http.post没有'不适用于Chrome,仅适用于IE
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- js不适用于Chrome,但适用于IE
- (PHP&JavaScript)a href添加按钮赢得'我不适用于Mozilla,但适用于IE和谷歌
- javascript代码适用于IE和Chrome,但不适用于Firefox
- html5 canvas 中的 OffsetX 适用于 IE、Safari、Chrome,但不适用于 Firefox
- .load() 适用于 IE 和 dreamweaver 预览版,但不能使用 opera 和 chrome
- IE 9 Javascript Window Variable 为 null.适用于IE 8
- Javascript / CSS不适用于IE 10,但适用于IE 8
- html 选择列表更改无法在谷歌浏览器上调用方法(适用于 IE)
- 此代码阻止我的表单提交(仅在 chrome 中,适用于 IE 和 Firefox)
- Jquery适用于IE以外的所有浏览器
- Fotorama - 适用于IE,Firefox,但不适用于Chrome(上传到服务器)
- JavaScript适用于IE,但不适用于Firefox和Chrome
- javascript 函数 - 传递给函数的变量适用于IE,但不适用于Firefox
- HTTPRequest to Node 服务器适用于 IE 8,但不适用于 IE 7
- Javascript window.print 适用于 IE 和 FF,但不适用于 Chrome(在旧版本中曾经如此)
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 寻找适用于IE的开发人员插件
- Firefox 中的 HTML 位置问题(适用于 IE 和 Chrome)