JavaScript Estrai l'estensione dal nome del file


Esempio

Il modo rapido e breve per estrarre l'estensione dal nome del file in JavaScript sarà:

function get_extension(filename) {
    return filename.slice((filename.lastIndexOf('.') - 1 >>> 0) + 2);
}

Funziona correttamente sia con nomi che non hanno estensione (es. myfile ) o che iniziano con . punto (ad esempio .htaccess ):

get_extension('')                           // ""
get_extension('name')                       // ""
get_extension('name.txt')                   // "txt"
get_extension('.htpasswd')                  // ""
get_extension('name.with.many.dots.myext')  // "myext"

La seguente soluzione può estrarre estensioni di file dal percorso completo:

function get_extension(path) {
    var basename = path.split(/[\\/]/).pop(),  // extract file name from full path ...
                                               // (supports `\\` and `/` separators)
        pos = basename.lastIndexOf('.');       // get last position of `.`

    if (basename === '' || pos < 1)            // if file name is empty or ...
        return "";                             //  `.` not found (-1) or comes first (0)

    return basename.slice(pos + 1);            // extract extension ignoring `.`
}

get_extension('/path/to/file.ext');  // "ext"