任何人都可以告诉我如何使用Blueimp jQuery File上传限制音频/视频文件上传?
我使用以下选项acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
找到了白名单,但我想将音频和视频文件列入黑名单,而不是列入白名单。
我尝试了以下方法来否定.exe和.js文件acceptFileTypes: /(\.|\/)(?!exe|js)$/i
,它限制了所有文件类型,无论其扩展名如何。
提前致谢
答案 0 :(得分:1)
您将$
放在错误的位置。如果您想查找.exe
,.js
以外的任何内容,请使用
(\.|\/)(?!(exe|js)$)
<强> Regex Demo 强>
原因: - 前瞻是零宽度断言。这意味着他们不消耗任何字符。在你的正则表达式
(\.|\/)(?!exe|js)$
您使用前瞻后exe
js
后检查.
或.
。一旦检查,位置就会在$
之后重置。现在你的正则表达式正在使用(\.|\/)(?!exe|js)$
检查它是否是字符串的结尾。但是还有一个字符,所以它不是字符串的结尾,你的正则表达式会因任何扩展而失败。
下面,有一些视觉效果可以解释你的正则表达式abcd.jpg
对于字符串 abcd . jpg
^^ ^^
|| ||
(Matches .) (New position after consuming .)
。 (仅为了清晰起见,空格)
.
jpg
exe
之后的内容,js
或exe
&lt; --- 不应与此匹配 >
由于前瞻是零宽度,在检查后面的内容既不是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+
如果你想将音频和视频文件列入黑名单,这里有启动器
<!ATTLIST movie play (Yes|No) "Yes">
<强> Regex Demo 强>