easyui笔记:文件上传插件uploadifive 实现 验证文件名

这篇博客主要记录了如何在uploadifive文件上传插件中实现文件名验证功能,由于原插件不自带此功能,作者通过修改源码实现了这一需求。详细步骤包括定位并修改特定代码段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  写在最前,由于没发现uploadifive 有验证上传文件名称的功能。在网上也找了一圈也找不到此类方法。所以自己就通过修改源码实现了。

如有错误,欢迎指正。

1、打开未压缩的源码,找到以下内容所在的行

 $data.createInput = function() {

2、在这个函数内找到一下内容,加粗为修改过的代码。

if (($data.queue.count + limit) > settings.queueSizeLimit && settings.queueSizeLimit !== 0) {
                            if ($.inArray('onError', settings.overrideEvents) < 0) {
                                $.messager.alert("津电心系统",'已达到队列文件的最大数目 (' + settings.queueSizeLimit + ').  请减少文件.');
                            }
                            // Trigger the error event
                            if (typeof settings.onError === 'function') {
                                settings.onError.call($this, 'QUEUE_LIMIT_EXCEEDED');
                            }
                        }
                        else {//当一般验证通过后,进行文件名验证
                            var flag=true;//定义一个判断用的变量
                            var f=[];//定义一个收集不符合规则的文件名的数组
                            for (var n = 0; n < limit; n++) {//循环每一个选择的文件
                                var ss=this.files[n].name.split(".");//对文件名进行处理
                                var sss=ss[0];//截取到不包含后缀名的文件名
                                var re=/^(\d{9})_(\d{8})_(\d+)_([\u4e00-\u9fa5]+)$/g ;//定义正则验证文件名的规则
                                if(re.test(sss))//判断文件名是否符合验证规则
                                { 
                                    //console.log("验证通过");
                                    file = this.files[n];
                                    $data.addQueueItem(file);//文件列表添加这个文件
                                }else{//验证未通过
                                    f.push(this.files[n].name);//吧验证未通过的文件的文件名存进一个数组
                                     flag=false;//改变flag值
                                }
                            }
                            //console.log(f);
                            if( !flag){//判断flag为false就弹出提示框
                                var word='';//定义一个空字符串
                                for (var j=0;j<f.length;j++){//循环文件名数组
                                    word+=f[j]+"、";//把所有不符合的文件名拼成一个字符串
                                }
                                $.messager.alert("津电心系统",'抱歉!'+word+'文件名不符合规则,已经帮您过滤!','info')
                            }
                            $data.inputs[inputName] = this;
                            $data.createInput();
                        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值