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 相关文章推荐
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
JQuery解析XML的方法小结
Apr 02 Javascript
JavaScript实现水平进度条拖拽效果
Jan 18 Javascript
Angularjs2不同组件间的通信实例代码
May 06 Javascript
深入理解ES6的迭代器与生成器
Aug 19 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
Dec 15 Javascript
微信小程序实现漂亮的弹窗效果
May 26 Javascript
详解Vue调用手机相机和相册以及上传
May 05 Javascript
微信小程序实现卡片层叠滑动效果
Jun 21 Javascript
js实现div色块碰撞
Jan 16 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 foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
Symfony生成二维码的方法
2016/02/04 PHP
功能强大的php文件上传类
2016/08/29 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
Python如何对XML 解析
2020/06/28 Python
美国著名的团购网站:Woot
2016/08/02 全球购物
大学专科生推荐信范文
2013/11/23 职场文书
高中物理教学反思
2014/02/08 职场文书
手机被没收检讨书
2014/02/22 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
爱情寄语大全
2014/04/09 职场文书
排查整治工作方案
2014/06/09 职场文书
化工专业自荐书
2014/06/16 职场文书
2014年终个人总结报告
2015/03/09 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA