您的位置:首页 > 产品设计 > UI/UE

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

2017-05-24 14:39 411 查看
  写在最前,由于没发现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
.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
;
$data.addQueueItem(file);//文件列表添加这个文件
}else{//验证未通过
f.push(this.files
.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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: