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在一段文字中的光标处插入其他文字
Aug 26 Javascript
javascript对象之内置对象Math使用方法
Apr 16 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
Mar 04 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
node.js中的fs.readdir方法使用说明
Dec 17 Javascript
javascript的日期对象、数组对象、二维数组使用说明
Dec 22 Javascript
使用js画图之正弦曲线
Jan 12 Javascript
原生Javascript和jQuery做轮播图简单例子
Oct 11 Javascript
JS实现的数组去除重复数据算法小结
Nov 17 Javascript
Vue 数据绑定的原理分析
Nov 16 Javascript
javascript实现前端分页功能
Nov 26 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警告错误信息的解决方法
2013/06/03 PHP
php中fsockopen用法实例
2015/01/05 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
Yii实现简单分页的方法
2016/04/29 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python自动化测试之连接几组测试包实例
2014/09/28 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
python中hashlib模块用法示例
2017/10/30 Python
python实现xlsx文件分析详解
2018/01/02 Python
用Python配平化学方程式的方法
2019/07/20 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
使用python 计算百分位数实现数据分箱代码
2020/03/03 Python
python实现快递价格查询系统
2020/03/03 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
如何提高JDBC的性能
2013/04/30 面试题
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
《乡下孩子》教学反思
2014/04/17 职场文书
爱护草坪标语
2014/06/24 职场文书
公司员工活动策划方案
2014/08/20 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书