Относительно фактического вопроса: исходное регулярное выражение требует, чтобы значение начиналось с буквы диска или имени устройства UNC. Вполне возможно, что Firefox просто не включает это в имя файла. Также обратите внимание, что если у вас есть намерение стать кроссплатформенным, это регулярное выражение не будет работать в любой системе, отличной от Windows, независимо от браузера, поскольку они не используют буквы дисков или пути UNC. Ваше упрощенное регулярное выражение («принять что угодно, если оно заканчивается на .pdf») примерно так же хорошо, как и проверка имени файла.
Однако , комментарий Джонатана к первоначальному вопросу невозможно переоценить. Никогда, никогда, никогда не доверяйте имени файла как адекватному средству определения его содержимого. Или тип MIME, в этом отношении. Клиентское программное обеспечение, обращающееся к вашему веб-серверу (который может даже не быть браузером), может лгать вам о чем угодно, и вы никогда не узнаете, если не проверите это. В этом случае это означает подачу полученного файла в некоторый код, который понимает формат PDF, и наличие этого кода, сообщающего вам, является ли это действительным PDF или нет. Проверка имени файла может помешать людям отправлять явно неправильные файлы, но это не достаточный тест полученных файлов.
(Я понимаю, что вы, возможно, знаете о необходимости дополнительной проверки, но следующий человек, который сталкивается с подобной ситуацией и находит ваш вопрос, не может.)