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 相关文章推荐
jquery1.4后 jqDrag 拖动 不可用
Feb 06 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 Javascript
jsp+javascript打造级连菜单的实例代码
Jun 14 Javascript
JavaScript生成GUID的多种算法小结
Aug 18 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
javascript替换已有元素replaceChild()使用介绍
Apr 03 Javascript
简单的分页代码js实现
May 17 Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 Javascript
利用fecha进行JS日期处理
Nov 21 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
Jul 13 Javascript
解决vue 路由变化页面数据不刷新的问题
Mar 13 Javascript
JavaScript ES6的函数拓展
Jan 18 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 expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
JavaScript加强之自定义callback示例
2013/09/21 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
彪马美国官网:PUMA美国
2017/03/09 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
老师自我鉴定范文
2013/12/25 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
捐助倡议书范文
2014/04/15 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
合作协议书模板
2014/10/10 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
MySQL慢查询的坑
2021/04/28 MySQL