Следующее регулярное выражение
var patt1=/[0-9a-z]+$/i;
извлекает расширение файла строк, например
filename-jpg
filename#gif
filename.png
Как изменить это регулярное выражение только для возврата расширения, когда строка действительно является именем файла с одной точкой в качестве разделителя? (Очевидно, имя файла # gif не является обычным именем файла)
ОБНОВЛЕНИЕ На основании комментариев tvanofsson я хотел бы пояснить, что, когда функция JS получает строку, строка уже будет содержать имя файла без пробелов без точек и других специальных символов (на самом деле будет обрабатываться a slug
). Проблема заключалась не в разборе имен файлов, а при неправильном анализе пули - функция возвращала расширение "jpg", когда ему давали "filename-jpg", когда он должен действительно возвращать null
или пустую строку, и именно такое поведение необходимо для исправления.