RegEx用于清理文件和文件夹名称

时间:2010-10-07 11:48:52

标签: javascript jquery regex

我正在用jQuery构建一个文件管理器。 用户可以创建文件夹和上传文件。 我需要一个Regual Expression(javascript)来检查输入的文件夹名称或上传的文件名是否为web-save。 (不允许使用特殊的字符或空格)

名称应仅包含字母数字值(a-z,A-Z,0-9),下划线(_)和短划线( - )

4 个答案:

答案 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)

这似乎很简单:

/^[\w.-]+$/

Useful tutorial

答案 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'))