Я уверен, что это должно быть достаточно просто, но я борюсь ...
var regexFileName = /[^\\]*$/; // match filename
var regexFileExtension = /(\w+)$/; // match file extension
function displayUpload() {
var path = $el.val(); //This is a file input
var filename = path.match(regexFileName); // returns file name
var extension = filename[0].match(regexFileExtension); // returns extension
console.log("The filename is " + filename[0]);
console.log("The extension is " + extension[0]);
}
Вышеупомянутая функция работает нормально, но я уверен, что она должна можно достичь с помощью одного регулярного выражения, ссылаясь на разные части массива, возвращаемого методом .match (). Я пробовал объединить эти регулярные выражения, но безуспешно.
Кроме того, я не использую строку для проверки в этом примере, поскольку console.log () избегает обратных косых черт в пути к файлу, и это меня начинало сбивать с толку:)