Сопоставление имени файла и расширения файла с одним регулярным выражением

Я уверен, что это должно быть достаточно просто, но я борюсь ...

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 () избегает обратных косых черт в пути к файлу, и это меня начинало сбивать с толку:)

7
задан Tom Bates 25 January 2012 в 10:58
поделиться