如何从Javascript中的文件名字符串中提取扩展名?[重复]

2020/10/29 00:42 · javascript ·  · 0评论

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

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

  • "file.name.with.dots.txt"
  • "file.txt"
  • "file"
  • ""
  • null
  • undefined

将会:

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

说明

(?:#开始非捕获组
  \。#个点
  (#开始捕获组(捕获实际扩展名)
    [^。] +#除点以外的任何东西,多次
  )#结束捕获组
)?#结束非捕获组,使其可选
$#锚定到字符串的末尾

使用该lastIndexOf方法查找字符串中的最后一个句点,然后获取字符串的一部分:

var ext = fileName.substr(fileName.lastIndexOf('.') + 1);

我个人更喜欢将字符串分割成.仅返回最后一个数组元素:)

var fileExt = filename.split('.').pop();

如果文件名中没有.则返回整个字符串。

例子:

'some_value'                                   => 'some_value'
'.htaccess'                                    => 'htaccess'
'../images/something.cool.jpg'                 => 'jpg'
'http://www.w3schools.com/jsref/jsref_pop.asp' => 'asp'
'http://stackoverflow.com/questions/680929'    => 'com/questions/680929'

我建议使用lastIndexOf()而不是indexOf()

var myString = "this.is.my.file.txt"
alert(myString.substring(myString.lastIndexOf(".")+1))

最好使用以下内容;始终有效!

var ext =  fileName.split('.').pop();

这将返回不带点前缀的扩展名。你可以加 ”。” + ext检查您要支持的扩展!

var x = "1.txt";
alert (x.substring(x.indexOf(".")+1));

注意1:如果文件名是形式为file.example.txt,

这将
不起作用注2:如果文件名是形式为文件,则将失败

尝试这个。可能解决您的问题。

var file_name_string = "file.name.string.png"

var file_name_array = file_name_string.split(".");
var file_extension = file_name_array[file_name_array.length - 1];

问候

如果文件更多,这是解决方案。(点)的名称。

<script type="text/javascript">var x = "file1.asdf.txt";
var y = x.split(".");
alert(y[(y.length)-1]);</script>

我使用下面的代码:

var fileSplit = filename.split('.');
var fileExt = '';
if (fileSplit.length > 1) {
fileExt = fileSplit[fileSplit.length - 1];
} 
return fileExt;

获取变量中的值,然后像这样将其扩展名分开。

var find_file_ext=document.getElementById('filename').value;
var file_ext=/[^.]+$/.exec(find_file_ext); 

这将为您提供帮助。

本文地址:http://javascript.askforanswer.com/ruhecongjavascriptzhongdewenjianmingzifuchuanzhongtiqukuozhanmingzhongfu.html
文章标签:
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!