javascript - 如何从 Javascript 中的文件名字符串中提取扩展名?

标签 javascript

<分区>

如何在变量中获取文件的文件扩展名? 就像我有一个 1.txt 文件,我需要它的 txt 部分。

最佳答案

适用于以下所有输入的变体:

  • "file.name.with.dots.txt"
  • “文件.txt”
  • "file"
  • ""
  • null
  • 未定义

会是:

var re = /(?:\.([^.]+))?$/;

var ext = re.exec("file.name.with.dots.txt")[1];   // "txt"
var ext = re.exec("file.txt")[1];                  // "txt"
var ext = re.exec("file")[1];                      // undefined
var ext = re.exec("")[1];                          // undefined
var ext = re.exec(null)[1];                        // undefined
var ext = re.exec(undefined)[1];                   // undefined

解释

(?:         # begin non-capturing group
  \.        #   a dot
  (         #   begin capturing group (captures the actual extension)
    [^.]+   #     anything except a dot, multiple times
  )         #   end capturing group
)?          # end non-capturing group, make it optional
$           # anchor to the end of the string

关于javascript - 如何从 Javascript 中的文件名字符串中提取扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/680929/

相关文章:

javascript - 添加按键监听器并使用 Javascript 单击 Greasemonkey 中的链接

javascript - ESP8266 服务于 HTML+js

javascript - 为什么 javascript 返回另一件事而 php 返回另一件事?

javascript - NodeJS - Electron 托盘图标一分钟后消失

javascript - 是否可以序列化 Ace Session 对象?

javascript - 为什么我的代码在 underscore.js 下可以工作,但在我使用 Ramda.js 时却不行?

javascript - React Dropzone FileReader - 无法读取文件 : {}

javascript - document.innerHTML 在 'DOMNodeInserted' 事件捕获函数中未定义

javascript - 如何使用 jquery 在 div 中显示多个选定的值?

javascript - 使用 PHP 实现 Materializecss Toast