任何人都可以請告訴我如何限制音頻/視頻文件上傳使用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+