我正在用jQuery构建文件管理器。 用户可以创建文件夹并上传文件。 我需要一个Regual表达式(javascript)来检查输入的文件夹名称或上传的文件名是否为网络保存。 (无特殊字符或允许使用空格)正则表达式用于清理文件和文件夹名称
名称应只包含字母数字值(包括AZ,az,0-9),下划线(_)和破折号( - )
我正在用jQuery构建文件管理器。 用户可以创建文件夹并上传文件。 我需要一个Regual表达式(javascript)来检查输入的文件夹名称或上传的文件名是否为网络保存。 (无特殊字符或允许使用空格)正则表达式用于清理文件和文件夹名称
名称应只包含字母数字值(包括AZ,az,0-9),下划线(_)和破折号( - )
/^ [\ w \ - ] + $ /:你需要反斜杠的连字符 – 2010-10-07 11:52:59
@Fabrizio:不,你不要 – SilentGhost 2010-10-07 11:54:00
@Fabrizio:不是在一个捕获组的结尾。 – 2010-10-07 11:54:00
不要打扰你的访客,这样做对他:)
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');
function clean(filename) {
filename= filename.split(/[^a-zA-Z0-9\-\_\.]/gi).join('_');
return filename;
};
filename=clean("Vis'it M'ic ro_pole!.pdf");
感谢您的贡献。如果你可以编辑你的答案并在你的解决方案上添加一个简短的解释,那将会很好。例如,@molokoloco提供的解决方案有什么不同? – honk 2014-12-03 17:21:26
你尝试过什么吗?如果你学习了正则表达式并且这是一个基本的表达方式,那对你只有好处。这应该是一个开始:http://www.regular-expressions.info/ – 2010-10-07 11:51:50
我强烈猜测这是一个常见问题解答!只要搜索'[正则表达式] +文件名+验证' – splash 2010-10-07 11:52:21
@ Felix Kling感谢您的提示!没有时间学习它,但我会在不久的将来:) – Yens 2010-10-07 12:06:05