Я пытаюсь написать регулярное выражение javascript для черного списка расширений файлов. Я использую плагин jquery, который имеет опцию для приемлемых типов файлов, которая принимает регулярные выражения, но вместо того, чтобы поддерживать белый список, мы хотели бы поддерживать черный список. Поэтому мне нужно, чтобы регулярное выражение совпадало, только если строка не содержит определенных расширений файлов. В настоящее время существует регулярное выражение, которое мы используем для добавления расширений в белый список фотографий при загрузке:
/(\.|\/)(gif|jpe?g|png)$/i
Для загрузки нашего документа мы хотели бы просто сделать черный список, но я не смог сделать ?! делиметр работа. Итак, ради примера, как бы я перевернул это регулярное выражение для соответствия, если расширение файла не содержит gif, jpg, jpeg, png?
Я пробовал несколько разных способов использования?!, Но ничего из того, что я пробовал, не работало правильно. Вот несколько примеров того, что я пытался безуспешно:
/(\.|\/)(?!gif|jpe?g|png)$/i
/(\.|\/)(?!(gif|jpe?g|png))$/i
По сути, мне нужно, чтобы это регулярное выражение всегда возвращало значение true, если расширения файлов в черном списке не совпадают.