jQuery使用正则表达式来检查有效的文件名

时间:2012-12-31 17:10:21

标签: javascript regex

我有一个表单,允许用户在下载文件时键入他们想要的带扩展名的文件名,但我需要在客户端验证(不包含[^/?*:;{}\\]+\\.[^/?*:;{}\\]+,这样的东西) 。文件名不需要包含扩展名,但如果他们愿意,也可以。我发现了这个:Validate a file name on Windows 但是我在jQuery上不够流利,无法使它工作。

2 个答案:

答案 0 :(得分:0)

正如我的评论所说,它不是一个jQuery问题,它是你追求的一个javascript的东西。

你可以采用两种方式,最简单的方法是

var myString = "hello world";
var regexp = /w+/
var match = regexp.exec(myString);
console.log(myString); //will print the world "hello"

另一个将使用Regexp Object

如果您同意将其称为“文字正则表达式”,则不要使用“文字正则表达式”,而是使用对象

var re = new RegExp("\\w+");
var match = re.exec(myString);
console.log(myString); //will print the world "hello"

这个方便的网站是Ruby regexp的主要网站,但它是创建regexp的绝佳工具

Rubular

答案 1 :(得分:0)

您可以尝试以下代码。如果有效,则返回文件名。否则它将返回 null

var filename = ''; // enter your file name here
alert(filename.match(/^\s*[a-z-._\d,\s]+\s*$/i))

如果你想排除一些字符,请在方括号内提及这些字符,如下所示

/^[^<>%$]*$/