我正在用jQuery构建一个文件管理器。 用户可以创建文件夹和上传文件。 我需要一个Regual Expression(javascript)来检查输入的文件夹名称或上传的文件名是否为web-save。 (不允许使用特殊的字符或空格)
名称应仅包含字母数字值(a-z,A-Z,0-9),下划线(_)和短划线( - )
答案 0 :(得分:10)
不要打扰你的访客,为他做这件事:)
var cleanName = function(name) {
name = name.replace(/\s+/gi, '-'); // Replace white space with dash
return name.replace(/[^a-zA-Z0-9\-]/gi, ''); // Strip any special charactere
};
cleanName('C\'est être');
答案 1 :(得分:4)
答案 2 :(得分:1)
function clean(filename) {
filename= filename.split(/[^a-zA-Z0-9\-\_\.]/gi).join('_');
return filename;
};
filename=clean("Vis'it M'ic ro_pole!.pdf");
答案 3 :(得分:0)
这是一个用于清理Windows文件/文件夹的正则表达式。由于它的限制较少,因此它也适用于POSIX(Linux,Mac)。
function sanitizePath (path) {
return path.replace(/[\\/:*?"<>|]/g, '')
}
console.log(sanitizePath('\\x/:a*b?<>|y'))