获取 URL 资源文件后缀
从 URL 字符串中提取文件扩展名
问题
给定一个资源链接,如 https://www.baidu.com/index.html,实现一个方法获取该资源的后缀名(如 html)。
解答
方法一:使用 substring 和 lastIndexOf
function getFileExtension(url) {
if (typeof url !== 'string') {
return '';
}
return url.substring(url.lastIndexOf('.') + 1);
}
const fileName = "https://www.baidu.com/index.html";
console.log(getFileExtension(fileName)); // "html"
方法二:使用 split 和 pop
function getFileExtension(url) {
if (typeof url !== 'string') {
return '';
}
return url.split('.').pop().toLowerCase();
}
const fileName = "https://www.baidu.com/index.html";
console.log(getFileExtension(fileName)); // "html"
关键点
lastIndexOf('.')找到最后一个点的位置,substring截取后面的部分split('.')按点分割字符串,pop()取最后一个元素- 需要对输入参数进行类型检查,避免非字符串类型报错
- 方法二可以配合
toLowerCase()统一转为小写
目录