- 时间:2022-08-19 00:43 编辑: 来源: 阅读:306
- 扫一扫,手机访问
摘要:通过以下方法有效地获取文件扩展名
[源码分享]
I:正则表达式var file1 = ' filename.xslvar file2 = '。隐藏文件';var file3 = ' filenamevar file 4 = ' filename . xx . apk ';函数getFileExtension(文件名){ return /[。]/.exec(文件名)?/[^.]+$/.exec(文件名)[0]:未定义;} console . log(' & gt;& gt& gt:',getfile extension(file 1));//& gt;& gt& gt:xsl console . log(' & gt;& gt& gt:',getfile extension(file 2));//& gt;& gt& gt:hidefileconsole . log(' & gt;& gt& gt:',getfile extension(file 3));//& gt;& gt& gt:undefineconsole . log(' & gt;& gt& gt:',getfile extension(file 4));//& gt;& gt& gt:apk 2:正则表达式var file1 = ' filename.xslvar file2 = '。隐藏文件';var file3 = ' filenamevar file 4 = ' filename . xx . apk ';函数getfile extension(filename){ return filename . split(' . ').pop();} console . log(' & gt;& gt& gt:',getfile extension(file 1));//& gt;& gt& gt:xsl console . log(' & gt;& gt& gt:',getfile extension(file 2));//& gt;& gt& gt:hidefileconsole . log(' & gt;& gt& gt:',getfile extension(file 3));//& gt;& gt& gt:filename console . log(' & gt;& gt& gt:',getfile extension(file 4));//& gt;& gt& gt:apk four:String变量file1 = 'filename.xsl '的slice,lastIndexOf方法;var file2 = '。隐藏文件';var file3 = ' filenamevar file 4 = ' filename . xx . apk ';函数getfile extension(filename){ return filename . slice(((filename . lastindexof(' . '))- 1)>& gt& gt0) + 2);} console . log(' & gt;& gt& gt:',getfile extension(file 1));//& gt;& gt& gt:xsl console . log(' & gt;& gt& gt:',getfile extension(file 2));//& gt;& gt& gt:console . log(' & gt;& gt& gt:',getfile extension(file 3));//& gt;& gt& gt:console . log(' & gt;& gt& gt:',getfile extension(file 4));//& gt;& gt& gt:apk这是如何实现的?String.lastIndexOf()方法返回指定值(“.”的最后一个位置在本例中为),如果未找到,则为-1。 对于“文件名”和“”。' hiddenfile ',lastIndexOf的返回值为0和-1无符号>移位运算符(>:)Convert -1为4294967295,而-2为4294967294。这种方法可以确保文件名在边缘情况下保持不变。 String.prototype.slice()从上面计算的索引中提取文件的扩展名。 如果索引比文件名长,则结果为“”