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 相关文章推荐
如何使用json在前后台进行数据传输实例介绍
Apr 11 Javascript
使用BootStrap实现用户登录界面UI
Aug 10 Javascript
jQuery使用deferreds串行多个ajax请求
Aug 22 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
Dec 30 Javascript
jquery append与appendTo方法比较
May 24 jQuery
JavaScript的词法结构精华篇
Oct 17 Javascript
vue 配置多页面应用的示例代码
Oct 22 Javascript
ES6 fetch函数与后台交互实现
Nov 14 Javascript
Vue一个案例引发的递归组件的使用详解
Nov 15 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
Sep 04 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实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
vue-ajax小封装实例
2017/09/18 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
微信小程序select下拉框实现源码
2019/11/08 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
Python基类函数的重载与调用实例分析
2015/01/12 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
python flask框架实现重定向功能示例
2019/07/02 Python
python匿名函数用法实例分析
2019/08/03 Python
django 实现简单的插入视频
2020/04/07 Python
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
计算机专业推荐信范文
2013/11/20 职场文书
单位婚育证明范本
2014/11/21 职场文书
公司庆典欢迎词
2015/01/26 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
女儿满月酒致辞
2015/07/29 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL
python使用BeautifulSoup 解析HTML
2022/04/24 Python