以尽可能多的方法完成下面的函数,使之能够正确返回一个任意给定文件名的扩展名
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建模软件中尤其有用,例如在...
该项目是一款由群友独立开发的《新月杀》游戏扩展包,源代码包含331个文件,涵盖191个MP3音频文件、108个JPG图片文件、25个Lua脚本文件、3个Markdown文档、1个Git忽略文件、1个授权许可文件、1个QML文件、1个Python...
_________________________________________ <br>Umboy:致力与信息安全与信息移动应用的研究。 MSN: umboy888#hotmail.com<br>QQ:728634<br>BLOG:http://blog.csdn.net/umboy<br>BBS: ...
《深入理解FLEX工作流设计器:源于群友的开源项目》 在当今信息化时代,工作流管理系统已经成为企业提升效率、优化业务流程的关键工具。而FLEX作为一种强大的富互联网应用程序(RIA)开发框架,以其丰富的图形界面...
mirai-api-http是Mirai框架的一个扩展,它提供了一个HTTP API接口,允许开发者使用非Java语言(如Python、JavaScript等)与Mirai进行交互。通过HTTP API,你可以远程控制机器人,发送和接收消息,管理群组成员,...
- **题目概述**:此题涉及Bluestein算法,这是一种快速傅里叶变换的扩展算法,用于处理长度不是2的幂的情况。 - **解决方案**:原文中提到了Bluestein算法的基本原理,即通过填充0的方式将任意长度的序列转换成2的幂...
为了解决这个问题,我们可以选择屏蔽QQ群的消息,但同时又希望能够接收到某些特定群友的信息或者关注到特定话题。以下是如何在屏蔽QQ群群消息后,单独接收指定群友信息和关注话题信息的详细步骤。 首先,当你想要...
【压缩包子文件的文件名称列表】:虽然具体文件名未给出,但我们可以推断这个压缩包可能包括了多个扩展名为.jar或.zip的插件文件,这些文件可以是独立的插件,也可以是包含多个插件的集合。常见的IntelliJ IDEA插件...
为了帮助用户在屏蔽群消息的同时,不错过重要信息,QQ提供了“单独接收指定群友信息”的设置功能,让用户能够定制化地管理群消息。 首先,要启用这个功能,你需要在已经屏蔽的QQ群上右键点击,选择“群消息设置”,...
这份"BladeX环境部署手册"由群友“刚好遇见你”提供,旨在帮助开发者顺利地设置和运行BladeX项目。下面,我们将详细讨论BladeX环境部署的相关知识点。 1. **BladeX简介**:BladeX是一个基于Java开发的微服务框架,...
【第一期】向群友推荐的书单
帮助行业圈子或微信群友认识彼此,深化关系,加强合作。 简单和微信好友一起传播。快速收集通讯录,方便组织活动.群发消息、了解群友近况! 圈子介绍 结识圈内精英大咖产品服务一应俱全项目合作互利双赢 在这样一...
标签“软件/插件”表明这个资源主要由软件组成,可能是独立的应用程序,也可能是需要安装在其他软件上的插件,用于扩展或增强原有软件的功能。 压缩包内的文件名“SM2258XT万能包v2-一个工具开几乎所有制程(Avidia-...
从给出的“微信群主年终总结”内容来看,我们可以提炼出以下几个关键知识点: 1. **群文化与理念建设**:微信群主遵循“有空必来,有来必言,有言必留,有留必看”的群组理念,强调积极参与和互动,以及“知无不言...
Java + Netty 实现的高并发高可用MQTT服务broker,轻松支持10万并发(有群友实现了130万在线).zip 功能说明: 参考MQTT3.1.1规范实现 完整的QoS服务质量等级实现 遗嘱消息, 保留消息及消息分发重试 心跳机制 MQTT连接...