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

来源:互联网 发布:淘宝囤货节在哪 编辑:程序博客网 时间:2024/06/01 22:18

  写在最前,由于没发现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();                        }

原创粉丝点击