jQuery获取上传文件的名称的正则表达式_jquery
程序员文章站
2022-04-01 17:15:07
...
方法一:
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文件管理找到的,都能正确判断。
以上所述就是本文的全部内容了,希望大家能够喜欢。
下一篇: html锚点是什么详解
推荐阅读
-
jQuery获取Radio,CheckBox选择的Value值(示例代码)
-
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
-
jquery如何获取复选框的值
-
jquery获取url中的参数有哪些(html页面获取url参数)
-
jquery获取select,option所有的value和text的实例
-
jq获取属性的方法(jquery获取html的内容)
-
jquery获取file表单选择文件的路径、名字、大小、类型
-
Django后台获取前端post上传的文件方法
-
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
-
jquery模拟LCD 时钟的html文件源代码