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 相关文章推荐
如何在Web页面上直接打开、编辑、创建Office文档
Mar 12 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
Dec 04 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
Nov 23 Javascript
非常漂亮的相册集 使用jquery制作相册集
Apr 28 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
Oct 24 Javascript
vue.js使用v-if实现显示与隐藏功能示例
Jul 06 Javascript
JS实现无限轮播无倒退效果
Sep 21 Javascript
解决Vue watch里调用方法的坑
Nov 07 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
PHP提取中文首字母
2008/04/09 PHP
php 缓存函数代码
2008/08/27 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
php写的AES加密解密类分享
2014/06/20 PHP
PHP也能干大事 随机函数
2015/04/14 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
php实现的顺序线性表示例
2019/05/04 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
详解JS面向对象编程
2016/01/24 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
Django REST 异常处理详解
2020/07/15 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
《雨霖铃》教学反思
2014/02/22 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
美术毕业生求职信
2014/02/25 职场文书
我的小天地教学反思
2014/04/30 职场文书
2015年党建工作总结
2015/03/30 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis