EN
JavaScript - get file extension
3 points
In this article, we would like to show you how to get a file extension in JavaScript.
Practical example:
xxxxxxxxxx
1
const isSeparator = (value) => value === '/'|| value === '\\' || value === ':';
2
3
const getExtension = (path) => {
4
for (let i = path.length - 1; i > -1; --i) {
5
const value = path[i];
6
if (value === '.') {
7
if (i > 1) {
8
if (isSeparator(path[i - 1])) {
9
return '';
10
}
11
return path.substring(i + 1);
12
}
13
return '';
14
}
15
if (isSeparator(value)) {
16
return '';
17
}
18
}
19
return '';
20
};
21
22
23
// Usage example:
24
25
// -- Common:
26
27
console.log(getExtension("image.png")); // png
28
console.log(getExtension("audio.mp3")); // mp3
29
console.log(getExtension("document.pdf")); // pdf
30
31
console.log(getExtension(".")); //
32
console.log(getExtension("..")); //
33
34
console.log(getExtension(".htaccess")); //
35
console.log(getExtension(".tar.gz")); // gz
36
console.log(getExtension("makefile")); //
37
38
// -- Unix/Linux/macOS:
39
40
console.log(getExtension("/path/.htaccess")); //
41
console.log(getExtension("/path/.tar.gz")); // gz
42
console.log(getExtension("/path/makefile")); //
43
console.log(getExtension("/path/example.pdf")); // pdf
44
45
// -- Windows:
46
47
console.log(getExtension("C:\\path\\.htaccess")); //
48
console.log(getExtension("C:\\path\\.tar.gz")); // gz
49
console.log(getExtension("C:\\path\\makefile")); //
50
console.log(getExtension("C:\\path\\example.pdf")); // pdf
51
52
// -- Also:
53
54
console.log(getExtension("C:.htaccess")); //
55
console.log(getExtension("C:.tar.gz")); // gz
56
console.log(getExtension("C:makefile")); //
57
console.log(getExtension("C:example.pdf")); // pdf