任何人都可以请告诉我如何限制音频/视频文件上传使用Blueimp jQuery文件上传?Blueimp jQuery文件上传音频/视频限制
我发现使用以下选项acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
白名单,但我想黑名单音频和视频文件,而不是白名单。
我试过以下内容,否定.exe和.js文件acceptFileTypes: /(\.|\/)(?!exe|js)$/i
,它限制所有文件类型,而不管它的扩展名是什么。
在此先感谢
任何人都可以请告诉我如何限制音频/视频文件上传使用Blueimp jQuery文件上传?Blueimp jQuery文件上传音频/视频限制
我发现使用以下选项acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
白名单,但我想黑名单音频和视频文件,而不是白名单。
我试过以下内容,否定.exe和.js文件acceptFileTypes: /(\.|\/)(?!exe|js)$/i
,它限制所有文件类型,而不管它的扩展名是什么。
在此先感谢
你把$
在错误的地方。如果你想找到除了.exe
,.js
什么,使用
(\.|\/)(?!(exe|js)$)
原因: - 向前看符号都是零宽度断言。这意味着它们不会消耗任何字符。在您的正则
(\.|\/)(?!exe|js)$
您使用先行检查exe
或js
刚过.
。只要检查位置,就立即在.
之后重置。现在你的正则表达式使用$
来检查它是否是字符串的结尾。但是还有一个字符,所以它不是字符串的结尾,你的正则表达式对任何扩展都会失败。
下面,有一些视觉解释为您的正则表达式(\.|\/)(?!exe|js)$
字符串abcd.jpg
。 (空间仅仅是为了清楚)
abcd . jpg
^^ ^^
|| ||
(Matches .) (New position after consuming .)
后.
是jpg
,这不应该匹配要么exe
或js
<接下来--- 好到这里
由于先行是零宽度,该位置仍然是在检查后面既不是exe
也不是js
abcd . jpg
^^
||
Check whether its $ i.e. end of string. This is False because we have j. So no match is returned
如果你想黑名单的音频和视频文件,这里是首发
(?:[.\\])(?!(mp3|m4a|wmv|mp4|mkv)$)\w+