javascript-上传文件时怎么对文件名进行限制,不能含有特殊字符

问题描述

上传文件时怎么对文件名进行限制,不能含有特殊字符

以下是对上传文件是的一些限制,请问我这种写法有问题吗,应该怎么写,谢谢!

       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-08-10 14:20:45

javascript-上传文件时怎么对文件名进行限制,不能含有特殊字符的相关文章

multipart ile-MultipartFile上传文件时,中文文件名乱码怎么解决?

问题描述 MultipartFile上传文件时,中文文件名乱码怎么解决? package com.upload; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Co

关于上传文件时保存中文文件名

上传|文件名|中文 下面是部分代码,简单的说,就是自己判断是否是汉字,然后按双字节的字符去处理它if AscB(MidB(strFrom, i, 1)) > 127 then        strTo = strTo & chr(Ascb(MidB(strFrom, i, 1))*256+Ascb(MidB(strFrom, i+1, 1)))        i = i + 1     else        strTo = strTo & ChrW(AscB(MidB(strFro

lrzsz-求解在win中使用secureCRT登录linux在rz上传文件时获取文件名

问题描述 求解在win中使用secureCRT登录linux在rz上传文件时获取文件名 简单来说我就是想实现,我使用rz上传脚本完成后对这个脚本文件进行处理,比如把里面的"test"改成"true" 解决方案 http://tieba.baidu.com/p/4338828408

ASP 下载时重命名已上传文件的新下载文件名的实现代码

问题:我想上传文件时后改名,下载时又将名改回来. 如:我上传一张"我的照片.jpg"上传后改为系统数名"20040302001.jpg"下载时又改回"我的照片.jpg" 其中的保存新旧文件名都用数据库(已做) 就是下载时的改名做不出来. 代码: 复制代码 代码如下: <% function dl(f,n) on error resume next Set S=CreateObject( "Adodb.Stream ")

input file-C#上传文件时找不到文件~求解~!!

问题描述 C#上传文件时找不到文件~求解~!! //后台代码 public static class Qiniu_API { public static string Bucket = """";//空间名 public static string Domain = """";//域名 static Qiniu_API() { Config.ACCESS_KEY = ""<AK>"&q

kindeditor 上传文件时 怎么让 文件说明 自动生成

问题描述 kindeditor 上传文件时 怎么让 文件说明 自动生成 修改 kindeditor 上传组件 文件说明 默认返回 文件名 这个应该怎么实现 需要修改什么文件 要详细的 谢谢啦 解决方案 http://blog.sina.com.cn/s/blog_533f138e01019re7.html 解决方案二: kindeditor的demo里面有对应的语言,修改语言文件名的生成规则就好了,不过建议还是用时间命令,要不有中文你处理不好编码小心乱码..

.net上传文件时,用js调用后台函数,出现HTMLfile拒绝访问

问题描述 .net上传文件时,用js调用后台函数,出现HTMLfile拒绝访问 .net上传文件时,用js调用后台函数,出现HTMLfile拒绝访问,拜求大神指点, 解决方案 fileupload 控件中 选择文件,这时候文件还没有上次,只是在浏览器端. 文件上传后,在服务器端处理(大部分情况是postback). 这时候没法执行js. 不太明白你的问题,最好上点代码.

请问使用iframe进行无刷新上传文件时,好像没有效果?

问题描述 请问使用iframe进行无刷新上传文件时,好像没有效果? 在网上找了关于iframe 无刷新上传文件,上传时没有反应,这一般是什么原因?会不会是浏览器的原因啊? 解决方案 你代码有问题..和浏览器没关系.如果你跨域上传文件,是无法获取iframe里面的内容的 给iframe添加onload事件,获取iframe里面额返回值进行判断,不要依赖动态页返回的内容,要不如果动态页报错没有输出js回调或者提示信息就和没反应一样了

字符串-网页上传文件时怎么把文件加密后上传

问题描述 网页上传文件时怎么把文件加密后上传 我想在html页面选择一个上传文件,在js获得这个文件的信息,然后对这个文件进行对称加密后再上传.初步想法是把文件是以数据流发到后台再生成一个完整文件的,但怎么获得这个文件的数据流?另一个想法是把先把文件转成字符串,然后加密,再把字符串生成文件2,然后上传,但怎样才能转成字符串并且把加密的字符串转回文件?请大神解答,感激不尽 解决方案 在Web架构中如果要保密, 最简单最安全的方法是使用HTTPS协议. 用js获取文件数据流是可以的, 但需要新版浏览