以尽可能多的方法完成下面的函数,使之能够正确返回一个任意给定文件名的扩展名
function getExtension(fileName){
//请在此补充该函数
}
//函数用例1
var fileName1 = "myPhoto.jpg";
var extension1 = getExtension(fileName1); // extension1 期望值 jpg
//函数用例2
var fileName2 = "my_project.latest.js";
var extension2 = getExtension(fileName2); // extension2 期望值 js
我给出的一些回答:
function getExtension(fileName){
if(typeof(fileName)!="string") return "";
var tmpArr = fileName.split(".");
if(fileName=="" || tmpArr.length==1) return "";
else return tmpArr.pop();
}
function getExtension1(fileName){
if(typeof(fileName)!="string") return "";
var reg = /\.(\w+)$/i; //匹配 .后面任意字符结尾(忽略大小写) 这个正则是请教 高人写的,我正则懂得少
var tmpArr = reg.exec(fileName);
if(tmpArr == null) return "";
else return tmpArr[tmpArr.length-1];
}
function getExtension2(fileName){
if(typeof(fileName)!="string") return "";
return fileName.substring(fileName.lastIndexOf(".")+1,fileName.length);
}
alert(getExtension1("abc.ccc.js"));
也许这些不是全部的方法,只是把代码贴在这里,以作参考.
函数内的代码有些多是因为做了一些必要性的判断,防止不合乎格式的文件名字符串,应该可以单独提出来做一个函数,这样就没有必要每一个函数都来一次了.
分享到:
相关推荐
在之前某一个前端技术群里,有一个群友说他面试的时候遇到了一个问题,就是面试官让他用纯 CSS 来实现一个根据鼠标移动位置觉得物体移动方向的 DEMO。 给出的初始结构如下: body { padding: 2em; text-align: ...
插件是为了扩展软件功能而设计的小型程序,它们能够为用户带来更便捷的工作流程和增强的性能。"群友苍穹分享的插件可以一键拾取"这个标题和描述暗示了一个特别的功能——一键拾取,这在3D建模软件中尤其有用,例如在...
《新月杀》是一款在游戏玩家社区中流传甚广的游戏...基于Lua语言的群友原创新月杀扩展包,正是这一文化现象的一个典型案例。这个项目不仅展示了游戏爱好者们的创意和技术能力,也为整个游戏行业的发展带来了新的启示。
_________________________________________ <br>Umboy:致力与信息安全与信息移动应用的研究。 MSN: umboy888#hotmail.com<br>QQ:728634<br>BLOG:http://blog.csdn.net/umboy<br>BBS: ...
《深入理解FLEX工作流设计器:源于群友的开源项目》 在当今信息化时代,工作流管理系统已经成为企业提升效率、优化业务流程的关键工具。而FLEX作为一种强大的富互联网应用程序(RIA)开发框架,以其丰富的图形界面...
H3CIE1-群友总结 HCIE3.0 面试宝典 HCIE3.0 面试葵花宝典 HCIE-R&S 3.0 智汇云校面试宝典 HCIE-RS3.0面试宝典(新盟) HCIE-RS3.0面试宝典2 HCIE-RS3.0面试宝典3 HCIE-RS3.0面试宝典 HCIE-RS面试宝典1 华为《数通...
mirai-api-http是Mirai框架的一个扩展,它提供了一个HTTP API接口,允许开发者使用非Java语言(如Python、JavaScript等)与Mirai进行交互。通过HTTP API,你可以远程控制机器人,发送和接收消息,管理群组成员,...
# 基于Python和NoneBot2框架的AI虚拟群友插件 ## 项目简介 本项目是一个基于Python和NoneBot2框架开发的AI虚拟群友插件。它集成了大型语言模型(LLM)技术,能够创建拟人化的AI群友,使其自然地参与群聊,有效提升...
- **题目概述**:此题涉及Bluestein算法,这是一种快速傅里叶变换的扩展算法,用于处理长度不是2的幂的情况。 - **解决方案**:原文中提到了Bluestein算法的基本原理,即通过填充0的方式将任意长度的序列转换成2的幂...
为了解决这个问题,我们可以选择屏蔽QQ群的消息,但同时又希望能够接收到某些特定群友的信息或者关注到特定话题。以下是如何在屏蔽QQ群群消息后,单独接收指定群友信息和关注话题信息的详细步骤。 首先,当你想要...
【压缩包子文件的文件名称列表】:虽然具体文件名未给出,但我们可以推断这个压缩包可能包括了多个扩展名为.jar或.zip的插件文件,这些文件可以是独立的插件,也可以是包含多个插件的集合。常见的IntelliJ IDEA插件...
为了帮助用户在屏蔽群消息的同时,不错过重要信息,QQ提供了“单独接收指定群友信息”的设置功能,让用户能够定制化地管理群消息。 首先,要启用这个功能,你需要在已经屏蔽的QQ群上右键点击,选择“群消息设置”,...
这份"BladeX环境部署手册"由群友“刚好遇见你”提供,旨在帮助开发者顺利地设置和运行BladeX项目。下面,我们将详细讨论BladeX环境部署的相关知识点。 1. **BladeX简介**:BladeX是一个基于Java开发的微服务框架,...
【第一期】向群友推荐的书单
帮助行业圈子或微信群友认识彼此,深化关系,加强合作。 简单和微信好友一起传播。快速收集通讯录,方便组织活动.群发消息、了解群友近况! 圈子介绍 结识圈内精英大咖产品服务一应俱全项目合作互利双赢 在这样一...
标签“软件/插件”表明这个资源主要由软件组成,可能是独立的应用程序,也可能是需要安装在其他软件上的插件,用于扩展或增强原有软件的功能。 压缩包内的文件名“SM2258XT万能包v2-一个工具开几乎所有制程(Avidia-...