jQuery获取上传文件的名称的正则表达式_jquery
程序员文章站
2022-03-18 20:27:51
...
方法一:
var file=jQuery("input[name='file']").val()
var filename=file.replace(/.*(\/|\\)/, "");
var fileExt=(/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : '';
(([a-zA-Z]:)|(//))((//)[^///*/?/|/:"]{1,255})+/.(([j,J][p,P][g,G])|([g,G][i,I][f,F]))
$('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文件管理找到的,都能正确判断。
以上所述就是本文的全部内容了,希望大家能够喜欢。
推荐阅读
-
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
-
jq获取属性的方法(jquery获取html的内容)
-
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
-
web.py获取上传文件名的正确方法
-
jQuery实现动态加载(按需加载)javascript文件的方法分析
-
jQuery使用JSONP实现跨域获取数据的三种方法详解
-
jquery获取div的高度和宽度(获取div实际宽高度的方法)
-
jquery获取div的高度和宽度(获取div实际宽高度的方法)
-
Jquery Uploadify多文件上传带进度条且传递自己的参数
-
jQuery插件zTree实现获取一级节点数据的方法