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 继承的实现
Jul 09 Javascript
JavaScript 学习笔记(十二) dom
Jan 21 Javascript
提交表单时执行func方法实现代码
Mar 17 Javascript
详细解读JavaScript的跨浏览器事件处理
Aug 12 Javascript
利用js+css+html实现固定table的列头不动
Dec 08 Javascript
Angular2使用Augury来调试Angular2程序
May 21 Javascript
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
关于vue-resource报错450的解决方案
Jul 24 Javascript
webpack处理 css\less\sass 样式的方法
Aug 21 Javascript
[原创]微信小程序获取网络类型的方法示例
Mar 01 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 Javascript
JS highcharts动态柱状图原理及实现
Oct 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扩展函数
2006/10/09 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
Python中字符编码简介、方法及使用建议
2015/01/08 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
python实现图书管理系统
2018/03/12 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
python如何获取apk的packagename和activity
2020/01/10 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
python实现IOU计算案例
2020/04/12 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
艺术爱好者的自我评价分享
2013/10/08 职场文书
学校春季防火方案
2014/06/08 职场文书
法制教育演讲稿
2014/09/10 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
Golang ort 中的sortInts 方法
2022/04/24 Golang
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android