我如何在变量中获得文件的文件扩展名? 比如,如果我有一个文件为1.txt,我需要它的txt部分。
当前回答
一种适用于以下所有输入的变体:
“file.name.with.dots.txt” “file.txt” “文件” "" 零 未定义的
是:
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
其他回答
最好使用以下方法;总是工作!
var ext = fileName.split('.').pop();
这将返回不带点前缀的扩展名。你可以加上“。”+ ext检查您希望支持的扩展!
获取变量中的值&然后像这样分离它的扩展名。
var find_file_ext=document.getElementById('filename').value;
var file_ext=/[^.]+$/.exec(find_file_ext);
这对你有帮助。
一种适用于以下所有输入的变体:
“file.name.with.dots.txt” “file.txt” “文件” "" 零 未定义的
是:
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
试试这个。也许能解决你的问题。
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];
问候
我使用下面的代码:
var fileSplit = filename.split('.');
var fileExt = '';
if (fileSplit.length > 1) {
fileExt = fileSplit[fileSplit.length - 1];
}
return fileExt;