【发布时间】:2011-05-12 06:10:36
【问题描述】:
我的正则表达式是正确的。仅适用于 Firefox。我将如何制作这种跨浏览器、跨平台的方式。因为它是文件名和扩展名验证,所以你是对的,我正在使用文件上传控件。
^[a-zA-Z0-9_\.]{3,28}(.pdf|.txt|.doc|.docx|.png|.gif|.jpeg|.jpg|.zip|.rar)$
匹配文件名不能为空[3, 28 个字符长]。
分机必须在组内。
当这在 forefox 中表现出色时,我认为是因为 firefox 中的 fileUpload.value = Filename.extension。它在谷歌浏览器和 IE 中非常失败。我正在使用上面的 .net 正则表达式验证器并启用了 ClientScript。
我知道如何在服务器上验证它,所以请不要使用服务器端解决方案。
注意:
谷歌浏览器:
提供文件上传控制值作为 c:\fakePath\filename.extension
IE:
提供完整路径。
【问题讨论】:
-
请提供一些您尝试匹配的输入示例以及失败的确切位置
标签: javascript regex validation file-upload cross-browser