jQuery获取上传文件的名称的正则表达式


Posted in Javascript onMay 21, 2015

方法一:

$('input[type="file"]').on('change', function() {
      var reg = /[^\\\/]*[\\\/]+/g; //匹配文件的名称和后缀的正则表达式
      var name = $(this).val().replace(reg, '');
      var postfix = /\.[^\.]+/.exec(name);//获取文件的后缀
      var text =name.substr(0,postfix['index']);//获取没有后缀的名称
      // 检测上传文件
    });

方法二:

以下只是个例子,变量file可以是任意类似于网络路径的字符串,这个例子是获得name=file的对象传过来的文件地址

var file=jQuery("input[name='file']").val()

var filename=file.replace(/.*(\/|\\)/, "");

var fileExt=(/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : '';

filename得到文件名

fileExt得到后缀名

方法三:

网上能找到的正则表达式大多都没有考虑中文文件夹和中文文件名的情况。

后来,自己动手写了一个。在走过了不少歪路后,我根据windows的命名规则(文件名中不能包含下列字符:/ / * ? | " < >),终于完成了一个自认为比较完整的一个正则式:

(([a-zA-Z]:)|(//))((//)[^///*/?/|/:"<>]{1,255})+/.(([j,J][p,P][g,G])|([g,G][i,I][f,F]))

这个表达式是判断上传文件类型为jpg或gif格式的。自己测试过,无论文件夹和文件名是怎么样命名的,只要能通过windows文件管理找到的,都能正确判断。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
JavaScript 函数调用规则
Sep 14 Javascript
javascript 必知必会之closure
Sep 21 Javascript
Javascript结合css实现网页换肤功能
Nov 02 Javascript
为原生js Array增加each方法
Apr 07 Javascript
jquery命令汇总,方便使用jquery的朋友
Jun 26 Javascript
javascript自动改变文字大小和颜色的效果的小例子
Aug 02 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
跟我学习javascript的全局变量
Nov 16 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
小程序实现左滑删除效果
Jul 25 Javascript
layui递归实现动态左侧菜单
Jul 26 Javascript
基于vue-cli3和element实现登陆页面
Nov 13 Javascript
js兼容火狐获取图片宽和高的方法
May 21 #Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 #Javascript
javascript去除空格方法小结
May 21 #Javascript
删除javascript所创建子节点的方法
May 21 #Javascript
png在IE6 下无法透明的解决方法汇总
May 21 #Javascript
javascript相关事件的几个概念
May 21 #Javascript
javascript实时显示当天日期的方法
May 20 #Javascript
You might like
供参考的 php 学习提高路线分享
2011/10/23 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
JS 常用校验函数
2009/03/26 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
python入门教程之识别验证码
2017/03/04 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
Python应用库大全总结
2018/05/30 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
ASP.NET Core中的配置详解
2021/02/05 Python
销售找工作求职信
2013/12/20 职场文书
校园活动宣传方案
2014/03/28 职场文书
车辆工程专业求职信
2014/04/28 职场文书
日语系毕业求职信
2014/07/27 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
医德医风自我评价2015
2015/03/03 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server
实现GO语言对数组切片去重
2022/04/20 Golang
A22国内电台短波广播频率表
2022/05/10 无线电