我正在建立一个jQuery文件管理器。用户可以创建文件夹和上传文件。我需要一个正则表达式(javascript)来检查输入的文件夹名或上传的文件名是否是网络保存。(没有特殊的字符或空格是允许的)名称应仅包含字母数字值(a-z、A-Z、0-9)、下划线(_)和破折号(-)
9avjhtql1#
不要打扰你的客人,为他做:)
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');
fbcarpbf2#
这看起来很简单:
/^[\w.-]+$/
Useful tutorial
deyfvvtc3#
function clean(filename) { filename= filename.split(/[^a-zA-Z0-9\-\_\.]/gi).join('_'); return filename; }; filename=clean("Vis'it M'ic ro_pole!.pdf");
k4aesqcs4#
这是一个清理Windows文件/文件夹的正则表达式。它也适用于POSIX(Linux,Mac),因为它的限制性更小。
function sanitizePath (path) { return path.replace(/[\\/:*?"<>|]/g, '') } console.log(sanitizePath('\\x/:a*b?<>|y'))
4条答案
按热度按时间9avjhtql1#
不要打扰你的客人,为他做:)
fbcarpbf2#
这看起来很简单:
Useful tutorial
deyfvvtc3#
k4aesqcs4#
这是一个清理Windows文件/文件夹的正则表达式。它也适用于POSIX(Linux,Mac),因为它的限制性更小。