首页前端工具函数从文件名中提取文件类型后缀

从文件名中提取文件类型后缀

分类前端工具函数时间2025-11-21 10:18:18发布RustStream浏览280
摘要:代码 /** * 从文件名中提取文件类型后缀 * @param {string} fileName - 文件名(含后缀) * @returns {string} - 文件后缀(小写,无`.`;若无后缀返回空字符串) */ function getFileExtension(fileName { // 校验参数:非字符串或空字符串直接返回空 if (typeof fileName !== 'string' || fileName.trim( <!--autointro-->...

代码

/**
 * 从文件名中提取文件类型后缀
 * @param {string} fileName - 文件名(含后缀)
 * @returns {string} - 文件后缀(小写,无`.`;若无后缀返回空字符串)
 */
function getFileExtension(fileName) {
  // 校验参数:非字符串或空字符串直接返回空
  if (typeof fileName !== 'string' || fileName.trim() === '') {
    return '';
  }

  // 找到最后一个点的索引
  const lastDotIndex = fileName.lastIndexOf('.');
  // 处理特殊情况:点在开头(如`.gitignore`)或无点,返回空
  if (lastDotIndex === -1 || lastDotIndex === 0) {
    return '';
  }

  // 截取后缀并转为小写(统一格式,避免PNG/png混用)
  const extension = fileName.slice(lastDotIndex + 1).toLowerCase();
  return extension;
}

测试

// 测试示例
const fileName = '3d49ffb0-ba4f-43ae-9b08-8aa9411db43d.png';
const extension = getFileExtension(fileName);
console.log('文件后缀:', extension); // 输出:png

// 更多测试用例
console.log(getFileExtension('document.pdf')); // pdf
console.log(getFileExtension('image.tar.gz')); // gz(处理多后缀,取最后一个)
console.log(getFileExtension('.env')); // 空(点在开头)
console.log(getFileExtension('无后缀文件')); // 空
console.log(getFileExtension('file.name.with.many.dots.jpg')); // jpg

本文链接:https://blog.smallhao.fun/?id=43 转载需授权!

分享到:

Chen’Blog版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

免费API Vue3 + VueOffice 全家桶进行 多格式文件预览

游客 回复需填写必要信息
召唤伊斯特瓦尔