【发布时间】:2012-12-31 17:10:20
【问题描述】:
我有一个表单,让用户在下载文件时输入他们想要的带有扩展名的文件名,但我需要在客户端进行验证(不包含 [^/?*:;{}\\]+\\.[^/?*:;{}\\]+ 之类的东西)。文件名不需要包含扩展名,但如果他们愿意,可以。我发现了这个:Validate a file name on Windows
但我对 jQuery 不够熟练,无法使其正常工作。
【问题讨论】:
-
这与 jQuery 本身没有任何关系,它是一个 javascript 问题。给你,正则表达式的 MDN 文档developer.mozilla.org/en-US/docs/JavaScript/Reference/…
-
我建议使用您允许的字符的白名单(而不是黑名单),这样管理起来会更容易一些。
-
@DavidThomas 任何合理的文件系统都有黑名单,而不是白名单。有些甚至都没有。如果文件系统支持,Linux 将允许您在文件名中插入控制字符。
-
@Jan:我并没有说这是文件系统中最常见的实现方式,但我确实相信,出于验证目的,白名单更易于管理。但是,当然,这是个人选择,两种方法(至少在我看来)都是完全有效的。
标签: javascript regex