问题描述
- 上传文件时怎么对文件名进行限制,不能含有特殊字符
-
以下是对上传文件是的一些限制,请问我这种写法有问题吗,应该怎么写,谢谢!onError : function(event,queueId,fileObj,errorObj){ $("#"+queueId).addClass("error"); if(fileObj.size>1024*1024*10){ alert("你上传的 “"+fileObj.name+"” 文件过大,请上传小于10M的附件。"); } var tag = "%"; if(fileObj.name.indexOf(tag)!=-1){ alert("你上传的 “"+fileObj.name+"” 文件有特殊字符,文件名中不可存在特殊字符,请重新上传"); } }
解决方案
%不算什么特殊字符吧。一般是过滤特殊的后缀。
解决方案二:
上传文件,一般是分为:
1)通过协议通知后台文件名,在通知前就可以完成必要的过滤。即客户传告诉后台服务器文件是什么,就是什么!
2)文件内容上传
解决方案三:
建议使用正则表达式吧。
解决方案四:
$(function(){
var str="sunny,woo";
var sear=new RegExp(',');
if(sear.test(str))
{
alert('Yes');
}
var tag=',';
if(str.indexOf(tag)!=-1)
{
alert('Yes');
}
});
解决方案五:
看代码没有问题,不过你服务器端也都验证过一次,千万不要相信客户端提交的任何数据
var fileName = '有一个特殊字符#';
if (/[^u4e00-u9fa5|[^a-z0-9]/gi.test(fileName)){
console.log('包含特殊字符了哦!')
}
// 输出:包含特殊字符了哦!
注:语言为 js,这里假设除汉字,字母,数字以外的字符都是特殊字符,下划线也算特殊字符哦。
解决方案七:
正则表达式大法好,可以去了解一下正则表达式
解决方案八:
http://blog.chinaunix.net/uid-20964486-id-3062971.html
解决方案九:
大小是在配置文件中设置的,无特殊符号用正则表达式+match方法,%表示的是任意字符
时间: 2024-11-03 00:19:01