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使用prototype定义对象类型(转)[
Dec 22 Javascript
基于jquery的一个浮动框(扩展性比较好 )
Aug 27 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
Dec 13 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
vue实现商城购物车功能
Nov 27 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
layui导出所有数据的例子
Sep 10 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 Javascript
深入浅析vue全局环境变量和模式
Apr 28 Javascript
小程序瀑布流组件实现翻页与图片懒加载
May 19 Javascript
详解Javascript实践中的命令模式
May 05 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
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
js控制table合并具体实现
2014/02/20 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
Seajs源码详解分析
2019/04/02 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
跟老齐学Python之list和str比较
2014/09/20 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
python实现dijkstra最短路由算法
2019/01/17 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
2012/11/09 面试题
实习生自我鉴定范文
2013/12/05 职场文书
区三好学生主要事迹
2014/01/30 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
本溪关门山导游词
2015/02/09 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
投诉书格式范本
2015/07/02 职场文书
七个Python必备的GUI库
2021/04/27 Python
Win11开始菜单添加休眠选项
2022/04/19 数码科技