如何使用jquery或javascript获取文件的扩展名?

Iam*_*MAN 20 javascript jquery

我想检查上传文件的类型.如果名字喜欢example.txt,我想只得到这个.txt部分.我如何使用Jquery或javascript实现它.

任何建议或链接将是赞赏!

Nic*_*ver 47

一个简单的办法是.split().pop()获得最后一个字符串数组中,就像这样:

var ext = fileName.split('.').pop();
Run Code Online (Sandbox Code Playgroud)

这将让你"txt"没有.,只需要附加.这也适用于:My.File.name.has.an extension.txt也是如此.如果它没有扩展名,它将返回文件名,因此您可能需要检查这个...或者采用完全不同的方向并通过正则表达式验证一组或已知的扩展名.


Fré*_*idi 9

使用lastIndexOf()substr():

function getFileExtension(name)
{
    int found = name.lastIndexOf('.') + 1;
    return (found > 0 ? name.substr(found) : "");
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果文件名不包含任何句点字符(即没有扩展名),则此实现返回空字符串.在这种情况下,基于split()的实现有时会返回完整的文件名.


Eva*_*ski 8

如果您需要验证多个扩展程序:

var filename = "picture.jpg";
var valid_extensions = /(\.jpg|\.jpeg|\.gif)$/i;   
if(valid_extensions.test(filename))
{ 
   alert('OK');
}
else
{
   alert('Invalid File');
}
Run Code Online (Sandbox Code Playgroud)

如果要检查扩展名(例如,在上载文件之前),则无需解析字符串.